habanatech/business-model

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

用于组合通用项目不同部分的包

v1.0.7.3 2020-08-12 03:30 UTC

This package is auto-updated.

Last update: 2024-03-12 14:19:51 UTC


README

用于组合通用项目不同部分的包。

##安装

composer require habanatech/business-model

动态元数据字段

向数据库中的实体添加一个字段以存储任何元数据。

  • 使用 HabanaTech\BusinessModel\ORM\Traits\MetadataFieldTrait 特性。

动态翻译

向数据库中的实体添加一个字段以存储任何翻译作为元数据。

  • 使用 HabanaTech\BusinessModel\ORM\Traits\MetadataFieldTrait 特性。
  • 使用 HabanaTech\BusinessModel\ORM\Traits\TranslationTrait 特性。
  • 实现 HabanaTech\BusinessModel\ORM\Interfaces\TranslationInterface 接口。

在表单上使用 HabanaTech\BusinessModel\Form\MetadataTranslationType 类型并配置它,例如: - { property: 'title', type: 'HabanaTech\BusinessModel\Form\MetadataTranslationType', type_options: { field: 'title'} }

services.yml 中添加允许的语言作为常量,例如

default_locale: en
locale: '%default_locale%'
app_locales: ch|en|fr|de|es

可选地,使用 bootstrap 4 的表单主题 '@HabanaTech_BusinessModel\metadata_translation_bootstrap_4_layout.html.twig' 并将其添加到您的 twig.yaml 文件中

paths:
    '%kernel.project_dir%/vendor/habanatech/business-model/BusinessModel/templates': HabanaTech_BusinessModel

读取时,$entity->translate('fr') 返回包含翻译属性的数组。

您需要添加以下服务

HabanaTech\BusinessModel\Form\MetadataTranslationType:  ~ `
HabanaTech\BusinessModel\EventSubscriber\TranslationsSubscriber: ~`

或者您也可以添加所有服务

HabanaTech\BusinessModel\:
    resource: '../vendor/habanatech/business-model/BusinessModel/*'
    exclude: '../vendor/habanatech/business-model/BusinessModel/{DependencyInjection,Entity,templates}'

实体

Image, FilterTag, DescriptionFragment

这些实体可能很有用,请记住添加 doctrine ORM 的监听器以处理您的关联 https://symfony.com.cn/doc/current/doctrine/resolve_target_entity.html

例如:在文件 doctrine.yaml 中

orm:
    resolve_target_entities:
        HabanaTech\BusinessModel\ORM\Entity\Image: App\Entity\Service

为了添加所有实体和 ORM 映射

    orm:
    resolve_target_entities:
        BusinessModel:
            is_bundle: false
            type: annotation
            dir: '%kernel.project_dir%/vendor/habanatech/business-model/BusinessModel/ORM/Entity/'
            prefix: HabanaTech\BusinessModel\ORM\Entity
            alias: BusinessModel