Одним из приятных преимуществ использования любой CMS является то, что она автоматически создает навигационное меню для вас - так что, когда пользователи добавляют новые страницы, они автоматически отображаются в меню.
В частности, в Concrete5 вы делаете это с помощью блока AutoNav. Как и для любого блока, его можно добавить в области на вашей странице, но, поскольку вы обычно хотите, чтобы навигационное меню появлялось на КАЖДОЙ странице в одном и том же месте, вы также можете добавить блок непосредственно в код шаблона.
Итак, для вашего меню (которое представляет собой одноуровневое меню без раскрывающегося списка) замените HTML-код навигационного меню следующим кодом:
<?php
$nav = BlockType::getByHandle('autonav');
$nav->controller->orderBy = 'display_asc';
$nav->controller->displayPages = 'top';
$nav->controller->displaySubPages = 'none';
$nav->render('templates/header_menu');
?>
Теперь вам нужно будет внести изменения в ваш CSS, потому что этот код будет генерировать HTML, который немного отличается от того, что у вас есть - он выглядит примерно так:
<ul class="nav-header">
<li><a href="/" class="nav-selected">Hem</a></li>
<li><a href="/about">Om oss</a></li>
<li><a href="/services">Tjänster</a></li>
<li><a href="/references">Referenser</a></li>
<li><a href="/contact">Kontakt</a></li>
</ul>
Различия в том, что нет окружающего div (хотя вы можете оставить его, если хотите, заключив код php выше в открывающий и закрывающий теги div), нет промежутка вокруг элементов навигации и класса для выбранного элемента. вместо «текущий» выбрано «nav-selected».