Deliver superior customer experiences with an AI-driven platform for creating and deploying cognitive chatbots
Deliver Awesome UI with the most complete toolboxes for .NET, Web and Mobile development
Automate UI, load and performance testing for web, desktop and mobile
A complete cloud platform for an app or your entire digital business
Detect and predict anomalies by automating machine learning to achieve higher asset uptime and maximized yield
Automate decision processes with a no-code business rules engine
Optimize data integration with high-performance connectivity
Connect to any cloud or on-premises data source using a standard interface
Build engaging multi-channel web and digital experiences with intuitive web content management
Personalize and optimize the customer experience across digital touchpoints
Build, protect and deploy apps across any platform and mobile device
Rapidly develop, manage and deploy business apps, delivered as SaaS in the cloud
The content you're reading is getting on in years
This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.
In the previous article we have demonstrated how to map embedded template of a control to an external one. A careful reader may have noticed that we have set the layoutTemplatePath property of viewSettings element indicating that the control has only one template - the layout template - which we are mapping.
While, it is true that all Views (controls based on ViewModeControl and ViewModeUserControl) indeed have only one template and that most of other controls have only one template, there are several controls that sport multiple templates.
In this article, we will examine how to map multiple templates of such controls.
Before we start, let us quickly take a glance at the list of Controls that use more than one template:
Another way to spot these controls is to open the reference Controls Config file that can be downloaded from your Client.net account and look for viewSettings elements which have a collection of additionalTemplates.
Just as it was case with mapping controls with only one template, you will actually need to provide these templates at the paths you have specified.
*** IMPORTANT ***
Every time you modify ControlsConfig file it is necessary to restart the application in order for the changes to be applied. While there are numerous ways to restart an application, here are few handy ones - you can restart the IIS server, resave web.config file (e.g. open web.config file, press space, press backspace, save config.file), resave global.asax file (e.g. open global.asax file, press space, press backspace, save global.asax file)…
*** END IMPORTANT ***
*** NOTE ***
If you map to an external template that ends with the .ascx extension, you will be using standard ASP.NET template parser which means you will also need to provide localization file in the App_LocalResources file. Resources files are also part of the package that comes with ExternalTemplates.zip file.
If, on the other hand, you decide to use Sitefinity parser, embedded localization resources will be used. Sitefinity parser will be used if template ends in any other extension except .ascx (though the convention is .sft).
*** END NOTE
It is important to note that we are not required to map all the templates of a control to external ones. For example, we could map only the SingleItemTemplate of the BlogPosts control to an external template, while for ItemListTemplate we could keep using embedded one. To achieve this, our configuration would look like this:
Notice that we have only removed the mapping for the ItemListTemplatePath property.
Experienced users of Sitefinity know that ContentView based templates, such as BlogPosts, EventsView and NewsView have ContentViewDesigners attached to them which can dynamically load templates. We will touch on the topic of designers and mapping their templates in one of the following articles in this topic.
*** END NOTE ***
View all posts from The Progress Team on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.