【发布时间】:2019-04-27 20:37:35
【问题描述】:
我是根据我在Static page dropdown within static page in OctoberCMS 的评论中提出的问题来打开这个的。
我在添加 $pageList->getPageTree(true) 时遇到问题。子页面未显示。我当前的代码是从 $pageObject->subpages 重复 foreach,这不是一个好习惯。
下面是我的代码示例:
插件.php
<?php namespace MyPlugin\CustomPlugin
use System\Classes\PluginBase;
public function boot() {
\RainLab\Pages\Classes\Page::extend(function($model) {
$model->addDynamicMethod('getPageOptions', function() {
$theme = \Cms\Classes\Theme::getEditTheme();
$pageList = new \RainLab\Pages\Classes\PageList($theme);
$pages = [];
foreach ($pageList->getPageTree(true) as $name => $pageObject) {
$pages[$pageObject->page->url] = $pageObject->page->title;
if ($pageObject->subpages) {
foreach ($pageObject->subpages as $name => $pageObject) {
$pages[$pageObject->page->url] = ' ' . $pageObject->page->title;
if ($pageObject->subpages) {
foreach ($pageObject->subpages as $name => $pageObject) {
$pages[$pageObject->page->url] = ' ' . $pageObject->page->title;
}
}
}
}
}
return $pages;
});
});
}
如果有人可以提供帮助,不胜感激。
【问题讨论】:
标签: php dropdown octobercms static-pages