如何在Concrete5中编辑菜单?

时间:2011-05-19 11:40:56

标签: php html content-management-system concrete5

我一直在寻找一些指南,可以告诉我在混凝土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 个答案:

答案 0 :(得分: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略有不同的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代码来保留它),导航项目周围没有跨度,所选项目的类别是“导航选择”而不是“当前”。