Как сделать меню редактируемым в Concrete5? - PullRequest
1 голос
/ 19 мая 2011

Я искал какое-нибудь руководство, которое могло бы рассказать мне, как сделать существующее меню редактируемым при добавлении в Concrete 5.

Вот меню, которое я сейчас использую, я хотел бы иметь возможность редактировать его в c5:

<div class="menu">
    <ul>
      <li><a href="default.php" class="active"><span>Hem</span></a></li>
      <li><a href="about.php"><span>Om oss</span></a></li>
      <li><a href="services.php"><span>Tjänster</span></a></li>
      <li><a href="references.php"><span>Referenser</span></a></li>
      <li><a href="contact.php"><span> Kontakt</span></a></li>
    </ul>
    </div>

Ссылки не работают вообще в c5, так что если кто-нибудь может мне немного помочь, это было бы очень признательно!

Спасибо!

1 Ответ

1 голос
/ 20 мая 2011

Одним из приятных преимуществ использования любой 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».

...