youwe/data-dictionary

Pimcore的数据字典

安装: 2,625

依赖: 1

建议者: 0

安全: 0

星标: 7

关注者: 12

分支: 3

开放问题: 0

类型:pimcore-bundle

v0.0.8 2019-10-14 18:21 UTC

README

在Pimcore内部创建当前数据模型的图。

Sceenshot

安装

使用Composer安装包,进入项目目录并运行以下命令

COMPOSER_MEMORY_LIMIT=3G composer require youwe/data-dictionary

然后启用该包

./bin/console pimcore:bundle:install DataDictionaryBundle

完成!

第一个界面:访问者

很好,下一步是创建一个实现该接口的类

namespace DataDictionaryBundle\Graph\Interfaces;


interface Visitor
{
    public function setFieldDefinition($object);

    public function setClassDefinition(\Pimcore\Model\DataObject\ClassDefinition $object);

    public function setGraph(Graph $graph);

    public function getGraph():Graph;

    public function visit();
}

在这个类中,您将能够通过setGraph方法更改您将收到的图。在调用visit方法之前,数据字典将提供字段定义(setFieldDefinition)、类定义(setClassDefinition)和图。

我们鼓励您将这些实现为独立的类,而不是在主数据类型类中。

您也可以扩展该类

\DataDictionaryBundle\Graph\Visitor\AbstractVisitor

该类实现了接口的所有方法,除了visit方法,您将在该类中具有以下属性

    protected $graph;
    protected $fieldDefinition;
    protected $classDefinition;

第二个接口:数据字典

在实现访问者类之后,您将需要指定如何加载它,因此您将需要实现一个接口,它将给我们一个方法来恢复您的类。

namespace DataDictionaryBundle\Interfaces;

use DataDictionaryBundle\Graph\Interfaces\Visitor;

interface DataDictionary
{
    public static function getVisitor(string $className = null):Visitor;

    public static function canVisit(string $className):bool;
}

方法getVisitor接收参数为字段定义的类名,该字段定义应由数据字典访问。

编辑services.yml以启用它

在services.yml文件中,您应该添加

services:
    datadictionary.defaultclass: #some identifier
        class: DataDictionaryBundle\Graph\Visitor\Factory\DefaultClass #the class that implements the DataDictionary interface
        public: true
        autowiring: true
        autoconfigure: true
        tags: ['datadictionary'] #and this tag will allow us to load your class automaticaly

结果

您可以通过转到设置(齿轮图标)-> 显示当前数据字典来获取数据字典。然后会打开一个新的标签页,其中包含数据字典。

或者您可以直接通过以下URL获取数据字典: http:///admin/data-dictionary/

请记住将localhost改为您的Pimcore主机名。

待办事项

  • 创建包含所有类、属性和关系的图;
    • 类;
    • 属性;
    • 关系(基本);
    • 为特定情况创建特定元素
      • 本地化字段;
      • 对象桥接
      • 砖块
      • 块;
      • 字段集合;
      • 表格;
      • 分类存储
  • 生成文本文档;
    • 在图和文档之间创建链接;