我是silverstripe框架的新手,并试图在管理面板中获取菜单列表。
我发现了大量的例子来显示菜单在前端通过菜单(1)和菜单(2)等,但没有得到任何示例代码来获取相同的管理模式下的菜单数组。
我尝试的代码是:
public function getCMSfields() {
$fields = FieldList::create(TabSet::create('Root'));
$fields->addFieldsToTab('Root.Main', array(
TextField::create('Name'),
DropdownField::create('URL')
->setSource(SiteTree::get()),
));
return $fields;
}发布于 2016-02-06 04:32:54
ModelAdmin主要是用来管理DataObjects而不是页面。请查看Docs和此Lesson以了解有关ModelAdmin的更多信息。
但是,如果您想在ModelAdmin中管理页面,您可以这样做
class MyPageAdmin extends ModelAdmin {
...
...
private static $managed_models = array(
'Page'
);
public function getList() {
$list = parent::getList();
if($this->modelClass == 'Page'){
$list = $list->filter('ParentID', '1');
}
return $list;
}
}要仅管理特定页面中的子项,请使用getList()函数并根据需要过滤列表。
发布于 2016-03-12 18:26:14
也有(旧版本的albiet)来自ssbits的本教程http://www.ssbits.com/tutorials/2010/dataobjects-as-pages-part-2-using-model-admin-and-url-segments-to-create-a-product-catalogue/
https://stackoverflow.com/questions/35225574
复制相似问题