1

我一直在寻找一些指南,可以告诉我如何在 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 中根本不起作用,所以如果有人可以帮助我一点,将不胜感激!

谢谢!

4

1 回答 1

1

使用任何 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(尽管如果你想通过在打开和关闭 div 标记中包围上面的 php 代码来保留它),导航项周围没有跨度,并且所选项目的类是“导航” -selected”而不是“当前”。

于 2011-05-20T07:25:44.270 回答