webfox/silverstripe-global-content

此包已弃用且不再维护。未建议替换包。

Silverstripe SiteConfig 类型的接口,内容作者可以访问全局内容

安装数: 4,353

依赖者: 0

建议者: 0

安全: 0

星标: 3

关注者: 3

分支: 3

开放问题: 0

类型:silverstripe-module

v1.1.1 2017-01-19 03:30 UTC

This package is auto-updated.

Last update: 2022-10-14 02:50:59 UTC


README

安装

此模块仅支持通过composer安装。

运行以下命令以将此模块作为依赖项添加并通过composer安装。

composer require "webfox/silverstripe-global-content"

然后浏览到 /dev/build?flush=all

需求

  • SilverStripe 3.2+
  • PHP 5.4+

模块概述

此模块添加了一个方便的类似于 SiteConfig 的界面来管理全局内容。当您需要全局内容但不想让内容作者访问 SiteConfig 时很有用

模块使用

添加额外的字段

  • 创建一个应用于 GlobalContentDataExtension
  • 该扩展需要 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) 方法在数据加载之后更新表单。