定制 dynamic/silverstripe-manageable-dataobject 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dynamic/silverstripe-manageable-dataobject

Composer 安装命令:

composer require dynamic/silverstripe-manageable-dataobject

包简介

Allows frontend DataObject management

关键字:

README 文档

README

Build Status Scrutinizer Code Quality codecov

Latest Stable Version Total Downloads Latest Unstable Version License Monthly Downloads Daily Downloads

Allow front-end management of DataObjects.

Requirements

  • SilverStripe ^4.0
  • Viewable Dataobject ^2.0
  • Additional Form Fields ^2.0

Installation

composer require dynamic/silverstripe-manageable-dataobject

Configuration

MyPageController:
  managed_object: MyManageableObject
  extensions:
    - Dynamic\ManageableDataObject\Extensions\ManageableControllerExtension

MyManageableObject:
  extensions:
    - Dynamic\ViewableDataObject\Extensions\ViewableDataObject
    - Dynamic\ManageableDataObject\Extensions\ManageableObjectExtension
  listing_page_class: MyPage

MyManageableObject

To utilize ManageableDataObject you must implement PermissionProvider and methods defined in ManageableDataObjectInterface. The example below is a very basic implementation of the PermissionProvider and ManageableDataObjectInterface methods.

<?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();
    }
}

统计信息

  • 总下载量: 2.9k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 5
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2017-07-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固