我正在尝试创建一个基于后端创建的页面的动态生成的导航菜单,我想我可以使用{% for page in pages %}来获得已创建页面的列表,我已经阅读了文档,并且我看到您可以使用{‘\ http://website/ }和{ '’\app}来给出相同的值,即,但是我想要获得像wordpress中的walker文件这样的所有页面的列表,任何想法都可以实现这一点。
==
<?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>发布于 2020-06-08 16:42:52
是的你可以。为此,可以使用内置的系统类。
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>如有任何疑问,请评论。
https://stackoverflow.com/questions/62250366
复制相似问题