page } and { ''

问题描述 投票:0回答:1

我试图根据在后台创建的页面创建一个动态生成的导航菜单,我想我可以使用类似{% for page in pages %}这样的东西来获取创建的页面列表,我已经阅读了文档,我看到你可以使用{ '' /website。 但想得到的所有页面的列表,如Walker文件在wordpress任何想法如何实现这一点。

==
<?php
use Cms\Classes\Theme;
use Cms\Classes\Page;

function onStart() {
   $currentTheme = Theme::getActiveTheme();
   $allPages = Page::listInTheme($currentTheme, true);
   $this['allPage'] = $allPages;
}
?>
==
<div class="lt-navbar navbar-fixed">
  <nav class="lt-no-background">
    <div class="nav-wrapper">
      <div class="lt-container container">
        <a href="{{ 'home'|page }}" class="brand-logo white-text"><img src="{{ 'assets/img/pages/all/logo.png'|theme }}" width="177" height="55" title="Logo" alt="Logo"></a>
        <a href="#" data-activates="mobile-menu" class="lt-mobile-toggle button-collapse"><i class="material-icons">menu</i></a>
        <ul>
            {% for page in pages %}
            <li><a href="{{ page.baseFileName|page}}">{{page.title}}</a></li>
            {% endfor %}
</div>
    </div>
  </nav>
</div>
        </ul>
octobercms
1个回答
0
投票

use Cms\Classes\Theme;
use Cms\Classes\Page;
然后获取当前主题内的所有页面。

$currentTheme = Theme::getActiveTheme();
$allPages = Page::listInTheme($currentTheme, true);
在法典部分

use Cms\Classes\Theme;
use Cms\Classes\Page;

function onStart() {
   $currentTheme = Theme::getActiveTheme();
   $allPages = Page::listInTheme($currentTheme, true);
   $this['allPage'] = $allPages;
}
在模板中

如果有任何疑问请评论。

<ul>
{% for page in allPage %}
    <li>< a href="{{ page.baseFileName|page}}">{{page.title}}</a></li>
{% endfor %}
</ul>

© www.soinside.com 2019 - 2024. All rights reserved.