Multiple Page Templates - Hiranyaloka/Documentation GitHub Wiki
== Page Template per Folder ==
Here’s a solution to use a different page template based upon the “Folder” each page is in.
- Copy the contents of the Page archive template into a template module called “Default Page”.
- Create additional template modules for each page template as necessary: News Page, Industry Page, Product/Service Page etc. (assuming that the same page template is used for Product and Service pages in this example)
- Create a folder corresponding to each Page template: News, Industry, Products, Services, etc.
-
Update the Page archive template to use the following code:
<mt:setvarblock name="page_folder"><mt:PageFolder><$mt:FolderLabel$></mt:PageFolder></mt:setvarblock> <mt:if name="page_folder" eq="News"> <$mt:include module="News Page"$> <mt:else name="page_folder" eq="Industry"> <$mt:include module="Industry Page"$> <mt:else name="page_folder" like="(Products|Services)"> <$mt:include module="Products/Services Page"$> <mt:else> <$mt:include module="Default Page"$> </mt:if>
Publish and View!
Here’s another example from Lanre Pedro based upon the folder names he created:
<mt:setvarblock name="PageFolder"><mt:PageFolder><$mt:FolderLabel$></mt:PageFolder></mt:setvarblock> <mt:ifFolder name="about"> <$mt:include module="About Page"$> <mt:else name="PageFolder" eq="products"> <$mt:include module="Products Page"$> <mt:else name="PageFolder" eq="blog"> <$mt:include module="Blog Page"$> <mt:else name="PageFolder" eq="contact"> <$mt:include module="Contact Page"$> <mt:else> <$mt:include module="Default Page"$> </mt:ifFolder>