webfox / silverstripe-global-content
此包已弃用且不再维护。未建议替换包。
Silverstripe SiteConfig 类型的接口,内容作者可以访问全局内容
v1.1.1
2017-01-19 03:30 UTC
Requires
- php: >=5.4
- silverstripe/cms: ~3.2
README
安装
此模块仅支持通过composer安装。
运行以下命令以将此模块作为依赖项添加并通过composer安装。
composer require "webfox/silverstripe-global-content"
然后浏览到 /dev/build?flush=all
需求
- SilverStripe 3.2+
- PHP 5.4+
模块概述
此模块添加了一个方便的类似于 SiteConfig
的界面来管理全局内容。当您需要全局内容但不想让内容作者访问 SiteConfig
时很有用
模块使用
添加额外的字段
- 创建一个应用于
GlobalContent
的DataExtension
- 该扩展需要
updateCMSFields(FieldList $fields)
方法和任何标准的DataExtension
属性
class GlobalContentExtension extends DataExtension { protected static $db = [ 'MyFieldName' => 'Varchar' ]; public function updateCMSFields(FieldList $fields) { $fields->addFieldToTab( 'Root.Main', TextField::create('MyFieldName', 'My field name') ); } }
使用权限
- 授予用户/角色/组“访问‘全局内容’部分”权限
在模板中使用
$GlobalContent.MyFieldName
<% with $GlobalContent %> {$MyFieldName} <% end_with %>
$GlobalContent('MyFieldName')
在PHP中使用
GlobalContent::inst()->MyFieldName
直接修改编辑表单
- 创建一个应用于
GlobalContentAdmin
的新LeftAndMainExtension
- 扩展可以使用
updateEditForm($form)
方法在数据加载之前更新表单。 - 扩展可以使用
updateEditFormData($form)
方法在数据加载之后更新表单。