Auto nav doesn't seem to want to work with themes.

Permalink
Hello, I just started working with C5, and CMS's in general. I don't know much other than HTML either, so that could very well be my problem. I installed the Mendacity theme (beautiful btw), but I can't get the navigation bar at the top to show up, at all.. If I put the auto nav block in my header nav space, it just shows the same vertical navigation menu a site should have on a sidebar. This is the same for even the default themes. On the preview picture, it shows the navigation horizontal, but whenever I install a theme (whether they're pretty css looking header navs like Mendacity, or plain text like Plain Yogurt) it just gives me the out of place looking vertical navigation you'd expect to see on a sidebar. Any help for this would be appreciated. I would give you the link but I'm constantly messing around with the site atm because it's a test site to see if I want to move my business site over to C5. Thank you!

p3ngu
 
pmarques replied on at Permalink Best Answer Reply
pmarques
Hello and welcome to Concrete5!

The auto-nav block, by default, acts as a vertical menu, but it has a Custom Template that will make it work as you want it to. Please do the following:

- Put the page in edit mode
- Click on "Add to header nav" and click "Add block"
- Click on "Auto-Nav"
- Choose the correct settings (in most cases, the defaults will work)
And now for the trick that you're missing:
- Click on the auto-nav block you just added and then on "Custom Template"
- On the "Custom Template" dropdown, choose "Header Menu"

As you might have noticed, you can also use the auto-nav block for Breadcrumbs.

One last thing - you'll probably want to have the auto-nav on all pages, so you might want to create a stack that you use on the page type defaults or insert it programmatically on your template - if you need help with this just let us know!

Good luck!
p3ngu replied on at Permalink Reply
p3ngu
Thank you so much! Although, I do feel very stupid now. That was so easy, I can't believe I missed that lol. I do have one more question though. I made the stack as you suggested, put it on my default page types, and published the changes, but when I went to my pages using those page types, the changes were not there. Of course I did just add them in manually, but I was wondering what I missed to make that feature work correctly.

Once again, thank you so much! I seriously thought I had to reinstall concrete (for the 3rd time), but fortunately it was just ignorance on my part xD.
pmarques replied on at Permalink Reply
pmarques
Glad I could help =)
When you add something to a page type default, Concrete5 guarantees you that every page of that type that is created will have whatever you added. But in your case, you already had pages of that type. This means you'll have to explicitly install the new stuff on existing pages!

- Put the page type default in edit mode
- Click on the block you added
- Click on "Setup on Child Pages"
You can then select specific pages, or click on the checkbox to the right of "Date Modified" to select all. Save and publish changes.

On the previous post, I forgot to mention another way to do "template" things (like menus/auto-nav, banners, things that will be on all pages) - global areas. You define a global area in a template with the following code:

<?php
$ga = new GlobalArea('Header Nav');
$ga->display();
?>


The global area works like a stack - it's a single object shared by all pages that use that template (- of that type). You can edit it on any page, and you'll be changing it on all pages.

You've just started with Concrete5 and yet you're already getting the hang of it and understanding the Concrete5 way. I thought I'd just warn you that soon you'll be completely hooked and unable to work with any other CMS. Have fun and don't be afraid to ask questions!