【发布时间】:2012-08-02 16:01:51
【问题描述】:
我有一个简单的问题。我必须创建扩展 DataObject 的对象,但我如何允许用户通过 CMS 创建它们(即创建页面的方式)?它们不会单独出现在您可以创建的内容列表中。
我想我的主要问题是页面和数据对象之间有什么区别?
(我是一个完整的 SilverStripe 新手,请原谅我对此一无所知)
提前致谢
【问题讨论】:
标签: silverstripe
我有一个简单的问题。我必须创建扩展 DataObject 的对象,但我如何允许用户通过 CMS 创建它们(即创建页面的方式)?它们不会单独出现在您可以创建的内容列表中。
我想我的主要问题是页面和数据对象之间有什么区别?
(我是一个完整的 SilverStripe 新手,请原谅我对此一无所知)
提前致谢
【问题讨论】:
标签: silverstripe
两种常见的方法:
如果 DataObject 与页面有某种关联,那么您可以使用DataObjectManager (DOM) plugin 将您的 DO 附加到您的页面。重载 Page 类上的 getCMSFields() 函数以显示 DOM。注意:DOM 已被 SilverStripe 3.0 中的 GridField 取代 - 请参阅文档here。
如果您的 DataObject 更像是一个独立的实体,那么ModelAdmin 是您的最佳选择。这允许您在 CMS 中创建新选项卡来管理您的 DataObjects。您可以根据需要在前端使用这些 DataObjects。
如果所有这些都让你感到困惑,那么我建议你通过5 SS tutorials。
【讨论】: