我发现ModelAdmin比SilverStripe中的GridField更强大.我的问题是你什么时候使用GridField而不是ModelAdmin?
ModelAdmin,取自SilverStripe文档:
ModelAdmin提供了一种将SilverStripe Admin UI与您自己的数据模型结合使用的简单方法.它可以创建可搜索列表和编辑DataObject子类的视图,甚至可以提供数据的导入和导出.
它还继续声明ModelAdmin由GridField提供支持.您可能已经知道的,GridField可以直接在ModelAdmin外部使用,例如Pages或其他DataObjects.
将ModelAdmin视为DataObjects的容器,利用GridField查看和导航它们.ModelAdmin中的项目不必与页面有关系.
因此,管理查看特定DataObjects的权限之类的事情变得更加容易,因为您可以更轻松地控制登录CMS的人是否可以查看ModelAdmin页面与尝试隐藏特定页面上的特定GridField.
现在,对于ModelAdmin之外的GridField使用,通常您会在SiteTree的页面上看到这一点,用于将一组DataObjects(通常has_many也可以通过a many_many)链接到页面本身.
直接在页面上使用GridField的一个好例子是,如果您想在特定页面上使用图库.您不需要ModelAdmin,因为您希望它与页面本身链接.
您可能希望更多地使用ModelAdmin的示例类似于电子商务网站.您可以存储订单并使用ModelAdmin显示它们,然后导航到SiteTree中的特定"商店"页面以查看数据.
没有什么能阻止您使用一种方法或另一种方法来显示您的数据,每种方法都有自己的优点和开箱即用的功能,而无需额外的配置.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |