如何在 october cms 中动态生成页面链接
how to dynamically generate page links in october cms
我正在尝试根据在后端创建的页面创建一个动态生成的导航菜单 我想我可以使用类似 {% for page in pages %} 的东西来获取已创建页面的列表我看到你可以使用 { '' |page } 和 { '' |app } 它们给出相同的值,即 http://website/ 但想获得所有页面的列表,如 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>
是的,你可以。您可以为此使用内置系统 类
use Cms\Classes\Theme;
use Cms\Classes\Page;
Then to get all the pages within the current theme
$currentTheme = Theme::getActiveTheme();
$allPages = Page::listInTheme($currentTheme, true);
In code section
use Cms\Classes\Theme;
use Cms\Classes\Page;
function onStart() {
$currentTheme = Theme::getActiveTheme();
$allPages = Page::listInTheme($currentTheme, true);
$this['allPage'] = $allPages;
}
In template
<ul>
{% for page in allPage %}
<li>< a href="{{ page.baseFileName|page}}">{{page.title}}</a></li>
{% endfor %}
</ul>
如有疑问请评论。
我正在尝试根据在后端创建的页面创建一个动态生成的导航菜单 我想我可以使用类似 {% for page in pages %} 的东西来获取已创建页面的列表我看到你可以使用 { '' |page } 和 { '' |app } 它们给出相同的值,即 http://website/ 但想获得所有页面的列表,如 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>
是的,你可以。您可以为此使用内置系统 类
use Cms\Classes\Theme;
use Cms\Classes\Page;
Then to get all the pages within the current theme
$currentTheme = Theme::getActiveTheme();
$allPages = Page::listInTheme($currentTheme, true);
In code section
use Cms\Classes\Theme;
use Cms\Classes\Page;
function onStart() {
$currentTheme = Theme::getActiveTheme();
$allPages = Page::listInTheme($currentTheme, true);
$this['allPage'] = $allPages;
}
In template
<ul>
{% for page in allPage %}
<li>< a href="{{ page.baseFileName|page}}">{{page.title}}</a></li>
{% endfor %}
</ul>
如有疑问请评论。