+1-888-365-2779
Try Now
More in this section

Forums / Sitefinity SDK / Where does RegisterControlTemplate store info?

Where does RegisterControlTemplate store info?

4 posts, 1 answered
  1. Drew Greenwell
    Drew Greenwell avatar
    66 posts
    Registered:
    11 Feb 2010
    29 Apr 2011
    Link to this post
    The call to RegisterControlTemplate install method of the products module seems to be duplicating templates(I added a virtual path which probably broke it). Where is this data stored so I can go through and clean it out?

    I modified the method like this which probably caused the issue. I just need to know how to correct it.
    initializer.RegisterControlTemplate("~/sfproducts/" + MasterListView.titlesOnlyLayoutTemplateName, typeof(MasterListView).FullName, ProductsDefinitions.FrontendTitlesOnlyListViewName);

    I can see that it probably has the following fields, but I'm not seeing the table
    // Properties
        [DataMember, FieldAlias("areaName")]
        public virtual string AreaName { get; set; }
        [FieldAlias("condition"), DataMember]
        public virtual string Condition { get; set; }
        [FieldAlias("control"), NonSerializableProperty]
        public virtual ControlData Control { get; set; }
        [FieldAlias("controlType"), DataMember]
        public virtual string ControlType { get; set; }
        public override string Data { get; set; }
        [DataMember, FieldAlias("embeddedTemplateName")]
        public virtual string EmbeddedTemplateName { get; set; }
        [Sortable("Widget type"), DataMember, FieldAlias("friendlyControlName")]
        public virtual string FriendlyControlName { get; set; }
        [DataMember, FieldAlias("isDifferentFromEmbedded")]
        public virtual bool IsDifferentFromEmbedded { get; set; }
        [DataMember, FieldAlias("resourceAssemblyName")]
        public string ResourceAssemblyName { get; set; }
        [FieldAlias("resourceClassId"), DataMember]
        public virtual string ResourceClassId { get; set; }
  2. Drew Greenwell
    Drew Greenwell avatar
    66 posts
    Registered:
    11 Feb 2010
    29 Apr 2011
    Link to this post
    sf_presentation_data
  3. Radoslav Georgiev
    Radoslav Georgiev avatar
    3370 posts
    Registered:
    01 Feb 2016
    04 May 2011
    Link to this post
    Hello,

    I would suggest that you do not work with the database tables directly. There are references to the IDs of the presentation data in other tables, which is a risk to breaking the site. Instead it the API should be used. A sample of how to get a control template, and manipulate through API:
    var templates = PageManager.GetManager().GetPresentationItems<ControlPresentation>().Where(cP => cP.ControlType.Contains("YourControlType"));
    foreach (var template in templates)
    {
        //do something
    }
    PageManager.GetManager().SaveChanges();


    Kind regards,
    Radoslav Georgiev
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get now >>

    Answered
  4. Drew Greenwell
    Drew Greenwell avatar
    66 posts
    Registered:
    11 Feb 2010
    04 May 2011
    Link to this post
    I must have honestly not been too confident in the template api of sitefinity at that point. Additionally I had a team that couldnt continue key development until we found out if the templates were going to work. Sometimes, in times of urgency, you have to backup your db and begin experimenting to keep your team moving. Thankfully I didnt break anything and our team was able to continue developing over the weekend. I used sql delta to replace the old data and deleted the code in the manner you suggested when you sent us this code block yesterday. This should help anyone else that is having issues with rogue/duplicated control templates. We have logged it to our library.
    Thanks again
4 posts, 1 answered