Maximum Number of Templates? + Navigation Ideas
Permalink
Hello all,
Just discovered Concrete today and I'm really interested in using it for a long-term project I'm starting.
But I have a few unique questions that I need answered before I start pouring hours into development.
I have an fairly large static/dynamic (mainly static) website that I manage (900+ pages). Right now we use Adobe Contribute to make updates (5 or so people edit). I'm interested in replacing Contribute with Concrete.
I have complex navigation requirements (sidebar "section" major / minor navigation + "category" tabs on some pages) - in addition to the header navigation - so there is three/four tiers of separate nav.
Visit this concept draft for an idea of navigation requirements -http://glockops.com/smwc.edu/concept.php...
Browsing the existing site will also give you an idea of navigation requirements -http://www.smwc.edu/
I'm unsure of how to approach this site layout in Concrete. I was thinking of creating separate templates for each "folder" of the site (each site sections)
Example: one for About section / one for financial aid office, etc.
The separate templates are the only way I can currently think of loading/hiding such a large array of navigation options. The templates would all share a common header and footer and only be different in one area (where they called a unique navigation include).
I DO NOT need to have the navigation editable in Concrete; I would prefer if the users were as far away from it as possible.
I DO NEED to have the navigation easy to maintain (ie only one nav file that is included on 30-40+ pages).
Obviously if I create a separate template for each section of the site, I'm going to wind up with a lot of templates.
So unless a better way can be thought up... Is there a maximum number of templates that Concrete supports? I would need to have roughly 90 separate templates in order to do this navigation structure in the manner I stated above.
Sorry for the long post and super complex requirements. I'm pretty sure Concrete will work for my needs (and yes I've looked into tons of other solutions - nonw support our preferred navigation structure) if it can support 90+ templates.
PS - It also needs to support the huge number of templates in the "Add Page" creation screen, at this point, I don't care if the user has to flip through dozens of pages to find the specific template they need - it would still be a heck load easier that what we have with Contribute right now.
Just discovered Concrete today and I'm really interested in using it for a long-term project I'm starting.
But I have a few unique questions that I need answered before I start pouring hours into development.
I have an fairly large static/dynamic (mainly static) website that I manage (900+ pages). Right now we use Adobe Contribute to make updates (5 or so people edit). I'm interested in replacing Contribute with Concrete.
I have complex navigation requirements (sidebar "section" major / minor navigation + "category" tabs on some pages) - in addition to the header navigation - so there is three/four tiers of separate nav.
Visit this concept draft for an idea of navigation requirements -http://glockops.com/smwc.edu/concept.php...
Browsing the existing site will also give you an idea of navigation requirements -http://www.smwc.edu/
I'm unsure of how to approach this site layout in Concrete. I was thinking of creating separate templates for each "folder" of the site (each site sections)
Example: one for About section / one for financial aid office, etc.
The separate templates are the only way I can currently think of loading/hiding such a large array of navigation options. The templates would all share a common header and footer and only be different in one area (where they called a unique navigation include).
I DO NOT need to have the navigation editable in Concrete; I would prefer if the users were as far away from it as possible.
I DO NEED to have the navigation easy to maintain (ie only one nav file that is included on 30-40+ pages).
Obviously if I create a separate template for each section of the site, I'm going to wind up with a lot of templates.
So unless a better way can be thought up... Is there a maximum number of templates that Concrete supports? I would need to have roughly 90 separate templates in order to do this navigation structure in the manner I stated above.
Sorry for the long post and super complex requirements. I'm pretty sure Concrete will work for my needs (and yes I've looked into tons of other solutions - nonw support our preferred navigation structure) if it can support 90+ templates.
PS - It also needs to support the huge number of templates in the "Add Page" creation screen, at this point, I don't care if the user has to flip through dozens of pages to find the specific template they need - it would still be a heck load easier that what we have with Contribute right now.
okay let me start with, welcome home. Concrete5 is going to be far better for you than contribute on this level of challenge. If's it any consolation, 900 pages isn't a lot for concrete5, and schools including NYLS.edu and bethanywv.edu are built with earlier versions of concrete cms and don't need 90 templates.
next lets actually think about your navigation. I've looked at both urls above, and while your new one looks miles better than the current site, i can't get at a glance how the navigation is supposed to work. My thought is it looks like you've got some main/parent links formatted one way, and detail/child pages for the area you're in listed below in another style. Well the good news is if your site is following a hierarchy, you can pull this exact type of thing off with a custom template on top of the auto-nav block. This is basically what we're doing on this site, the navigations are based around where you are - not the template you're using.
If there's a bit more custom stuff in that navigation based on where you are - there's some other ways to handle it. I think the best way is to create a unique Page Type for each major silo of the site, and use the same Theme for all of them, even making one Template file that includes/serves all Page Types.. (or use default.php for them). This is a great way to deal with things, because:
1) You can limit who can add what types of pages based on where you are in the hierarchy if you're using the advanced permissions model.. This means once you're in athletics, you can only add page types of "athletic detail" or what-have-you so you don't have that 90 themes problem.
2) if you want to make a block appear on ALL athletics pages, you can goto defaults in page types and do that with a couple of clicks.
3) You can setup a auto-nav block through defaults - change the permission on it, and only you as admin will be able to edit it (but it will show up on every page in that section)
4) If you need to change some HTML in the Template, you can change just default.php (or if you choose you can always make a pagetype.php file that includes another standard php file for the template).. this means if you realize your html chrome needs a tweak, you're making it in one place.
5) you can use the page list and search block to limit results by page type, so your "search just academics" problem solves itself.
buuut..
you /might/ consider using the Page Type/Theme approach in a different way. If you really have more than 1 or 2 form factors you might use for a detail page in each area, perhaps using a unique Theme for every area and a common set of page types makes sense. I tend to think not because its much harder to marry blocks to themes than it is blocks to page types - and i think the auto-nav would suit your needs.
You also might consider putting some custom hackery in your Template files. We've built sites where the differences between sections was small enough that it could just be hard coded with a php switch statement in the Template file..
any rate - yes. is the short answer, in several ways that if thought out well will all be better than Contriubte..
can you provide any more details on how that nav needs to work?
next lets actually think about your navigation. I've looked at both urls above, and while your new one looks miles better than the current site, i can't get at a glance how the navigation is supposed to work. My thought is it looks like you've got some main/parent links formatted one way, and detail/child pages for the area you're in listed below in another style. Well the good news is if your site is following a hierarchy, you can pull this exact type of thing off with a custom template on top of the auto-nav block. This is basically what we're doing on this site, the navigations are based around where you are - not the template you're using.
If there's a bit more custom stuff in that navigation based on where you are - there's some other ways to handle it. I think the best way is to create a unique Page Type for each major silo of the site, and use the same Theme for all of them, even making one Template file that includes/serves all Page Types.. (or use default.php for them). This is a great way to deal with things, because:
1) You can limit who can add what types of pages based on where you are in the hierarchy if you're using the advanced permissions model.. This means once you're in athletics, you can only add page types of "athletic detail" or what-have-you so you don't have that 90 themes problem.
2) if you want to make a block appear on ALL athletics pages, you can goto defaults in page types and do that with a couple of clicks.
3) You can setup a auto-nav block through defaults - change the permission on it, and only you as admin will be able to edit it (but it will show up on every page in that section)
4) If you need to change some HTML in the Template, you can change just default.php (or if you choose you can always make a pagetype.php file that includes another standard php file for the template).. this means if you realize your html chrome needs a tweak, you're making it in one place.
5) you can use the page list and search block to limit results by page type, so your "search just academics" problem solves itself.
buuut..
you /might/ consider using the Page Type/Theme approach in a different way. If you really have more than 1 or 2 form factors you might use for a detail page in each area, perhaps using a unique Theme for every area and a common set of page types makes sense. I tend to think not because its much harder to marry blocks to themes than it is blocks to page types - and i think the auto-nav would suit your needs.
You also might consider putting some custom hackery in your Template files. We've built sites where the differences between sections was small enough that it could just be hard coded with a php switch statement in the Template file..
any rate - yes. is the short answer, in several ways that if thought out well will all be better than Contriubte..
can you provide any more details on how that nav needs to work?
Thanks for the reply frz!
Hopefully I can clear up my intention with the navigation. It's hard to explain it w/o having to create a whole section to navigate.
Through some study of our analytics in addition to what consultants tell us, I've come up with a list of "MAJOR" navigation options - for our campus program for instance, the major navigation options are:
All About Campus
Admission
Majors and Minors
Tuition / Scholarships & Aid
FAQ
Those five links each have their own tab menu (they represent folders).
All About Campus has the following pages
Campus Overview (Index and Active Tab)
Traditions
Living on Campus
Commuting
The four links above represent the tabs for the "All About Campus" section. If one was to click the link for "All About Campus" you would arrive on the Campus Overview page (the first tab item, highlighted as active or white).
The smaller navigation underneath the "Primary Links" are really just to get visitors to important tabs that may be currently hidden from view - Example: the "Admission Requirements" link will take you to a tab that is on the Admission menu. But if you aren't currently viewing Admission pages, then you'll have a different set of tabs displayed.
My goal with this navigation is to get all important content (our majors, scholarships, etc) right in front of the visitor, and group less used pages (Commuting to Campus / General Studies) in their appropriate area using tabs - this removes the clutter from the sidebar and keeps that area reserved for the most important content.
Note: a lot of the deeper tab pages (2nd - 5th tabs) are not critical for delivering our message. Users are likely to land on one of these tabs by clicking a link in the page content rather than from navigational menus.
Hopefully I can clear up my intention with the navigation. It's hard to explain it w/o having to create a whole section to navigate.
Through some study of our analytics in addition to what consultants tell us, I've come up with a list of "MAJOR" navigation options - for our campus program for instance, the major navigation options are:
All About Campus
Admission
Majors and Minors
Tuition / Scholarships & Aid
FAQ
Those five links each have their own tab menu (they represent folders).
All About Campus has the following pages
Campus Overview (Index and Active Tab)
Traditions
Living on Campus
Commuting
The four links above represent the tabs for the "All About Campus" section. If one was to click the link for "All About Campus" you would arrive on the Campus Overview page (the first tab item, highlighted as active or white).
The smaller navigation underneath the "Primary Links" are really just to get visitors to important tabs that may be currently hidden from view - Example: the "Admission Requirements" link will take you to a tab that is on the Admission menu. But if you aren't currently viewing Admission pages, then you'll have a different set of tabs displayed.
My goal with this navigation is to get all important content (our majors, scholarships, etc) right in front of the visitor, and group less used pages (Commuting to Campus / General Studies) in their appropriate area using tabs - this removes the clutter from the sidebar and keeps that area reserved for the most important content.
Note: a lot of the deeper tab pages (2nd - 5th tabs) are not critical for delivering our message. Users are likely to land on one of these tabs by clicking a link in the page content rather than from navigational menus.
I agree that creating 90 Templates, is for a lack of a better word stupid. It was just the first thing to come to mind. Since then, I've been thinking more about it.
CUSTOM INCLUDE BLOCK
I came up with the idea of having a custom block that can insert a php include. I'm not sure if one exist or if one can be created, but a block with a single option field such as "path to include file:" that I could insert into a single templates would go a long way to making this design work with the least amount of effort.
PAGETYPES
I like frz's idea of creating separate page types instead of templates - I'm going to play around with the advanced permissions and report my findings/concerns.
CUSTOM INCLUDE BLOCK
I came up with the idea of having a custom block that can insert a php include. I'm not sure if one exist or if one can be created, but a block with a single option field such as "path to include file:" that I could insert into a single templates would go a long way to making this design work with the least amount of effort.
PAGETYPES
I like frz's idea of creating separate page types instead of templates - I'm going to play around with the advanced permissions and report my findings/concerns.
I just discovered the Page Attribute area and I believe this can be modified to be a potential solution.
If I create a page type with a select-type attribute "Navigation", then the user can select the navigation menu they want loaded in the Properties of the page.
The name for the menus can either be the filename of the include (campus-navigation.inc.php) or a php switch statement could be used to process the options "Campus Program Navigation" = "campus-navigation.inc.php".
Here's some sample code
I'm doing a little dance right now, because this just freed up a ton of options for me. I can create an attribute to display various department/office contact details, different promotion text... I want to hug the guy/gal that came up with the Page Attribute section.
If I create a page type with a select-type attribute "Navigation", then the user can select the navigation menu they want loaded in the Properties of the page.
The name for the menus can either be the filename of the include (campus-navigation.inc.php) or a php switch statement could be used to process the options "Campus Program Navigation" = "campus-navigation.inc.php".
Here's some sample code
<?php $nav_menu = $c->getCollectionAttributeValue('Navigation Menu'); ?> <? if($nav_menu == "About the College") echo "JUMP FOR JOY!!!!"; ?>
I'm doing a little dance right now, because this just freed up a ton of options for me. I can create an attribute to display various department/office contact details, different promotion text... I want to hug the guy/gal that came up with the Page Attribute section.
custom attributes are a great way to create meaningful data types in concrete5. You start to associate page views with some searchable & consistent content - without giving up the flexibility of just adding something new to that page..
you could certainly have an attribute for the area of the site you were in - and just use that throughout your template to make all sorts of code decisions..
You should also glance into custom templates at the block level. You can use the auto-nav block to really just pull data in, and format it in all sorts of ways there.
you could certainly have an attribute for the area of the site you were in - and just use that throughout your template to make all sorts of code decisions..
You should also glance into custom templates at the block level. You can use the auto-nav block to really just pull data in, and format it in all sorts of ways there.
Hello,
I'm new to C5, but I know it's the CMS for me. However, I have an issue I can't figure out and this looks like the answer somehow, I just don't understand what's happening in C5 to confirm.
Please help!
Basically, the site I'm building,http://www.this1farm.com/index.php... is my first start, so things are moving at least. But my navigation isn't working. It's the icons along the top. I'm including those using a PHP include, and I just got them going to the right page, but I get the following error:Access Denied.
This is after I put <?php defined('C5_EXECUTE') or die(_("Access Denied.")); ?> in the head. I'm not sure what it's doing, so that's why it's not working. If I remove and only have <?php Loader::element('header_required'); ?>, I get the following error: Class 'Loader' not found in....line 4, which is exactly where the <?php Loader::......> element is. I know PHP enough to do includes and forms, but this is all new to me. What am I doing wrong that's preventing the navigation from working properly?
I'm new to C5, but I know it's the CMS for me. However, I have an issue I can't figure out and this looks like the answer somehow, I just don't understand what's happening in C5 to confirm.
Please help!
Basically, the site I'm building,http://www.this1farm.com/index.php... is my first start, so things are moving at least. But my navigation isn't working. It's the icons along the top. I'm including those using a PHP include, and I just got them going to the right page, but I get the following error:Access Denied.
This is after I put <?php defined('C5_EXECUTE') or die(_("Access Denied.")); ?> in the head. I'm not sure what it's doing, so that's why it's not working. If I remove and only have <?php Loader::element('header_required'); ?>, I get the following error: Class 'Loader' not found in....line 4, which is exactly where the <?php Loader::......> element is. I know PHP enough to do includes and forms, but this is all new to me. What am I doing wrong that's preventing the navigation from working properly?
Hey absolute, it appears your links are the problem.
You'll want to create pages for those links in Concrete and then put in absolute path links in your PHP include.
They are currently trying to open files located in the themes directory - so just try a link like href="/pagename"
- Assuming you have pretty URLs enabled
So to recap,
* Enable Pretty URLs and update .htaccess with the code.
* Create those pages in Concrete that you want to link to in the header
* Update your include file to have an absolute navigation path (/path/to/file)
You'll want to create pages for those links in Concrete and then put in absolute path links in your PHP include.
They are currently trying to open files located in the themes directory - so just try a link like href="/pagename"
- Assuming you have pretty URLs enabled
So to recap,
* Enable Pretty URLs and update .htaccess with the code.
* Create those pages in Concrete that you want to link to in the header
* Update your include file to have an absolute navigation path (/path/to/file)
I have successfully been able to use C5 for what I need it to do. My users (editors) can add pages / do edits / etc. And I control all the sidebar navigation in an external application (Dreamweaver).
So far its working out. The navigation on our website is quite complex due to the number of pages we have.
Ideally, at some point I'd like to incorporate navigation into C5 - but given the time restraints we were under, I couldn't mess with it.
Anyhow, here is the website if you'd like to take a look -http://www.smwc.edu/distance
So far we have 118 pages in Concrete, with another 700-800 to transfer :(
So far its working out. The navigation on our website is quite complex due to the number of pages we have.
Ideally, at some point I'd like to incorporate navigation into C5 - but given the time restraints we were under, I couldn't mess with it.
Anyhow, here is the website if you'd like to take a look -http://www.smwc.edu/distance
So far we have 118 pages in Concrete, with another 700-800 to transfer :(
I understand that you've added include files for extra tab info but how did you get the autonav to write menu items out in horizontal format?.
I have been trying to customise an autonav template, but don't know where to write out the end </div> tag, looing at the logic in view.php.
Any ideas?
http://www.concrete5.org/community/forums/customizing_c5/mega-menu-...
I'd just really like a solution to building a tab menu, like you have used.
thanks for your help
I have been trying to customise an autonav template, but don't know where to write out the end </div> tag, looing at the logic in view.php.
Any ideas?
http://www.concrete5.org/community/forums/customizing_c5/mega-menu-...
I'd just really like a solution to building a tab menu, like you have used.
thanks for your help
Unfortunately, most all our navigation is hard-coded in the templates.
The "drop-down" navigation across the top (campus / distance / graduate / etc.) is part of the template file.
The sidebar navigation is either custom code or a pagelist block with a custom template applied. For areas where it is a pagelist block, I've added an external link back to the parent page.
I hope to have some time in the near future to sort out the navigation and use more of the navigation functions incorporated into concrete5. But because I had to work with both an existing website and a concrete5 website on the same server... I had to compromise on navigation.
FYI: We're up to 545 pages now.
But to answer your question about a horizontal auto-nav. You'll need to apply a custom template to your autonav that will make it horizontal - my suggestions would be to find code for a horizontal CSS menu (such as one of thesehttp://www.cssmenumaker.com/horizontal_css_menu.php)... and work from their to get the auto-nav block to spit out code that is similar. The CSS will then make your menu horizontal.
The "drop-down" navigation across the top (campus / distance / graduate / etc.) is part of the template file.
The sidebar navigation is either custom code or a pagelist block with a custom template applied. For areas where it is a pagelist block, I've added an external link back to the parent page.
I hope to have some time in the near future to sort out the navigation and use more of the navigation functions incorporated into concrete5. But because I had to work with both an existing website and a concrete5 website on the same server... I had to compromise on navigation.
FYI: We're up to 545 pages now.
But to answer your question about a horizontal auto-nav. You'll need to apply a custom template to your autonav that will make it horizontal - my suggestions would be to find code for a horizontal CSS menu (such as one of thesehttp://www.cssmenumaker.com/horizontal_css_menu.php)... and work from their to get the auto-nav block to spit out code that is similar. The CSS will then make your menu horizontal.
In the concept -http://glockops.com/smwc.edu/concept.php...
Each Primary Link (on the right side) has a new series of TAB Items (above the YouTube video). The primary links also have an a unique icon next to them (not shown in the concept code).
I was thinking about including the tabbed navigation in the content area (and thus have it editable in Concrete) - I can probably get a "current level" auto nav to work, but at worst a unique tab menu would only be duplicated a max of 5 times (on the pages in the menu), so it wouldn't be horrible if I had to insert it as a content block.
The Primary Link / and "Get Details / Academic Links + Contact Box - is the navigation that the templates would load - each section would have different links here - and yes, I need them displayed like that (with major "Primary Links" and minor "Here's some other stuff links")