dynamic / silverstripe-manageable-dataobject
允许前端DataObject管理
2.0.0
2020-02-26 17:01 UTC
Requires
- dynamic/silverstripe-additional-formfields: ^2.0
- dynamic/viewable-dataobject: ^2.0
- silverstripe/recipe-cms: ^1.0@dev || ^4.0@dev
- silverstripe/vendor-plugin: ^1@dev
Requires (Dev)
This package is auto-updated.
Last update: 2024-08-27 02:55:42 UTC
README
允许前端管理DataObjects。
需求
- SilverStripe ^4.0
- 可查看的Dataobject ^2.0
- 附加表单字段 ^2.0
安装
composer require dynamic/silverstripe-manageable-dataobject
配置
MyPageController: managed_object: MyManageableObject extensions: - Dynamic\ManageableDataObject\Extensions\ManageableControllerExtension MyManageableObject: extensions: - Dynamic\ViewableDataObject\Extensions\ViewableDataObject - Dynamic\ManageableDataObject\Extensions\ManageableObjectExtension listing_page_class: MyPage
MyManageableObject
要使用ManageableDataObject,您必须实现PermissionProvider
和ManageableDataObjectInterface
中定义的方法。下面的示例是PermissionProvider
和ManageableDataObjectInterface
方法的非常基础的实现。
<?php namespace Foo\Bar; use Dynamic\ManageableDataObject\Interfaces\ManageableDataObjectInterface; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\RequiredFields; use SilverStripe\ORM\DataObject; use SilverStripe\Security\Permission; use SilverStripe\Security\PermissionProvider; class MyManageableObject extends DataObject implements PermissionProvider, ManageableDataObjectInterface { /** * @return array */ public function providePermissions() { return [ 'MDO_Create', 'MDO_Edit', 'MDO_Delete', 'MDO_View', ]; } /** * @param null $member * @param array $context * * @return bool|int */ public function canCreate($member = null, $context = array()) { return Permission::check('MDO_Create', 'any', $member); } /** * @param null $member * * @return bool|int */ public function canEdit($member = null) { return Permission::check('MDO_Edit', 'any', $member); } /** * @param null $member * * @return bool|int */ public function canDelete($member = null) { return Permission::check('MDO_Delete', 'any', $member); } /** * @param null $member * * @return bool|int */ public function canView($member = null) { return Permission::check('MDO_View', 'any', $member); } /** * @param null $params * * @return FieldList */ public function getFrontEndFields($params = null) { return parent::getFrontEndFields(); } /** * @return FieldList */ public function getFrontEndActions() { return FieldList::create(); } /** * @return RequiredFields */ public function getFrontEndRequiredFields() { return RequiredFields::create(); } }