symfony 如何在Shopware 6中装饰实体定义

8ftvxx2r  于 2023-10-24  发布在  PWA
关注(0)|答案(2)|浏览(163)

我想装饰插件商店6中的实体定义添加一些修改。我wolud想改变长度字符串字段从标准255到4000。

我的装饰课

配置服务

<service id="MyPlugin\Core\Content\Entities\AttributeTranslationDefinitionDecorator"
        decorates="TestPlugin\Entities\Attribute\Translation\AttributeTranslationDefinition" public="false">
        <argument type="service" id="MyPlugin\Core\Content\Entities\AttributeTranslationDefinitionDecorator.inner" />
    </service>

但这不起作用。我已经尝试了所有的方法与网页https://developer.shopware.com/docs/guides/plugins/plugins/plugin-fundamentals/adjusting-servicehttps://symfony.com/doc/current/service_container/service_decoration.html
是否可以在其他插件中更改实体定义?

xytpbqjk

xytpbqjk1#

修饰实体定义是不可能的,您不能简单地更改核心实体的现有字段定义。相反,如果您想向现有实体添加更多字段,则可以添加EntityExtension。请参考official docs

vyswwuz2

vyswwuz22#

你可以将services.xml中的类设置为你想要的适配类的类。这与其说是装饰,不如说是一种修饰,但它可以解决你的问题:

<service id="TestPlugin\Entities\Attribute\Translation\AttributeTranslationDefinition" 
      class="MyPlugin\Core\Content\Entities\AttributeTranslationDefinitionDecorator" public="false">
    <!-- Original arguments here -->
</service>

相关问题