If you define a set of templates where each successive template "extends" the previous template, the
apex:insert tag in all previous templates are available for definition in the final implementing page.For example, let's take take the following hierarchy of templates:
- SiteMasterTemplate
- SiteDepartmentTemplate--contains an
apex:compositionwithtemplate="SiteMasterTemplate" - SiteProductTemplate--contains an
apex:compositionwithtemplate="SiteDepartmentTemplate"
Now, if we create a page called SiteSuperMotor that contains an
apex:composition with template="SiteProductTemplate", our page can actually use apex:define that define apex:insert elements in SiteMasterTemplate!Furthermore, let's say that we have
apex:insert elements in both SiteDepartmentTemplate or SiteProductTemplate that share the same name attribute as an apex:insert in SiteMasterTemplate, then the SiteSuperMotor page's apex:define would only define the apex:insert in SiteMasterTemplate!