我有一个简单的问题。我必须创建扩展 DataObject 的对象,但我如何允许用户通过 CMS 创建它们(即创建页面的方式)?它们不会单独出现在您可以创建的内容列表中。
我想我的主要问题是页面和数据对象有什么区别?
(我是一个完整的 SilverStripe 新手,所以请原谅我对此一无所知)
提前致谢
我有一个简单的问题。我必须创建扩展 DataObject 的对象,但我如何允许用户通过 CMS 创建它们(即创建页面的方式)?它们不会单独出现在您可以创建的内容列表中。
我想我的主要问题是页面和数据对象有什么区别?
(我是一个完整的 SilverStripe 新手,所以请原谅我对此一无所知)
提前致谢
两种常见的方法:
如果 DataObject 以某种方式与页面相关,那么您可以使用DataObjectManager (DOM) 插件将您的 DO 附加到您的页面。在 Page 类上重载 getCMSFields() 函数以显示 DOM。注意:DOM 已被 SilverStripe 3.0 中的 GridField 取代 - 请参阅此处的文档。
如果您的 DataObject 更像是一个独立的实体,那么ModelAdmin就是要走的路。这允许您在 CMS 中创建新选项卡来管理您的 DataObjects。您可以根据需要在前端使用这些 DataObject。
如果所有这些都让您感到困惑,那么我建议您阅读5 SS 教程。