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.

  1. Copy the contents of the Page archive template into a template module called “Default Page”.
  2. 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)
  3. Create a folder corresponding to each Page template: News, Industry, Products, Services, etc.
  4. 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>
    
  5. 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>
⚠️ **GitHub.com Fallback** ⚠️