Я открываю это на основе моего вопроса в моем собственном комментарии из Раскрывающийся список статических страниц на статической странице в OctoberCMS.
У меня проблема при добавлении $pageList->getPageTree(true). Дочерние страницы не отображались. Мой текущий код повторяет foreach из $pageObject->subpages, что не является хорошей практикой.
Ниже приведен пример моего кода:
Плагин.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;
});
});
}
Цените, если кто-нибудь может помочь.