首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SilverStripe ModelAdmin

SilverStripe ModelAdmin
EN

Stack Overflow用户
提问于 2016-02-05 21:36:31
回答 2查看 195关注 0票数 1

我是silverstripe框架的新手,并试图在管理面板中获取菜单列表。

我发现了大量的例子来显示菜单在前端通过菜单(1)和菜单(2)等,但没有得到任何示例代码来获取相同的管理模式下的菜单数组。

我尝试的代码是:

代码语言:javascript
运行
复制
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;
}
EN

回答 2

Stack Overflow用户

发布于 2016-02-06 04:32:54

ModelAdmin主要是用来管理DataObjects而不是页面。请查看Docs和此Lesson以了解有关ModelAdmin的更多信息。

但是,如果您想在ModelAdmin中管理页面,您可以这样做

代码语言:javascript
运行
复制
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()函数并根据需要过滤列表。

票数 1
EN

Stack Overflow用户

发布于 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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35225574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档