こんにちは、
Akeneo CE 3.0.10を使用して、Categoryエンティティをオーバーライドして新しいプロパティを追加しようとしていますが、問題が発生します。
常に最新であるとは限らないことを知っているので、多かれ少なかれ公式ドキュメントに従っています。
Categoryクラスをオーバーライドしましたが、それは問題ありませんが、Categoryフォームをオーバーライドすることはできません。
パラメータpim_enrich.form.type.category.class
がもう存在しないことに気付いたので、これは論理です。 使用されているフォームタイプ( Akeneo\Pim\Enrichment\Bundle\Form\Type\CategoryType
)がハードコードされています:-1:この2つのYAMLファイルに:
Akeneo/Pim/Enrichment/Bundle/Resources/config/form_types.yml
Akeneo/Pim/Enrichment/Bundle/Resources/config/controllers.yml
...一方、Akeneo 2では問題ありませんでした!
カテゴリエンティティの拡張に関する別の問題があります: #9833、これがリンクされているかどうかわかりません。
これをすぐに修正していただけませんか?
Rgds、
ペリーヌ
こんにちは、
先に進むために、クラスのパラメータを使用して両方のファイルを更新しました (ベンダーでは、私をそんなに速く判断しないでください...これは実際のプロジェクトではなくトレーニングのためのものです^^)、それをオーバーライドできるようにしますそしてそれは動作します。
しかし、その後、カテゴリの新しい「画像」プロパティに MediaType フォーム要素を追加できませんでしたが、これは別の問題です。 可能だと思いますが、Akeneoに「古い小枝の前」システムを備えたMediaTypeプロパティの他のサンプルがないため、その方法がわかりません。
BR、
ペリーヌ
こんにちは@ peleq-笑顔、
この問題をどのように解決しましたか? 私は symfony が初めてです
こんにちは@ peleq-笑顔、
2.3.x から 3.0.x にアップグレードするときに、カスタマイズされたカテゴリ エンティティでも同じ問題が発生しました。
現在のところ、公式ドキュメントhttps://docs.akeneo.com/3.0/manipulate_pim_data/category/add_new_properties_to_a_category.html#define-the-category-formのガイドに従っては機能しません。 簡単な修正として、パラメータ化された FormType クラスを使用して、自分のバンドル内 (たとえば Resources/config/controllers.yml 内) のコントローラーのサービス定義をオーバーライドすることにしました (ドキュメントに従って、オーバーライドが設定されている可能性があります)。
pim_enrich.controller.category_tree.product:
class: 'Akeneo\Pim\Enrichment\Bundle\Controller\Ui\CategoryTreeController'
arguments:
- '<strong i="9">@event_dispatcher</strong>'
- '@pim_user.context.user'
- '@pim_catalog.saver.category'
- '@pim_catalog.remover.category'
- '@pim_catalog.factory.category'
- '@pim_catalog.repository.category'
- '@oro_security.security_facade'
- { related_entity: product, form_type: '%pim_enrich.form.type.category.class%', acl: pim_enrich_product, route: pim_enrich }
- '@pimee_security.repository.category_access'
- '@security.token_storage'
calls:
- [ setContainer, [ '<strong i="10">@service_container</strong>' ] ]
ymlファイルがYour \ Custom \ Bundle \ DependencyInjection \ Extension.phpに正しくロードされていることを確認してください。
public function load(array $configs, ContainerBuilder $container)
{
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load("controllers.yml");
[load your other configs...]
}
こんにちは@ peleq-笑顔!
ドキュメントの新しい修正をリリースします。 「カテゴリに新しいプロパティを追加する方法」ページの修正が含まれています。
https://docs.akeneo.com/3.0/manipulate_pim_data/category/add_new_properties_to_a_category.html
新しいバージョンを表示するには、ブラウザのキャッシュをクリーンアップしてください。
よろしく、
最も参考になるコメント
こんにちは@ peleq-笑顔、
2.3.x から 3.0.x にアップグレードするときに、カスタマイズされたカテゴリ エンティティでも同じ問題が発生しました。
現在のところ、公式ドキュメントhttps://docs.akeneo.com/3.0/manipulate_pim_data/category/add_new_properties_to_a_category.html#define-the-category-formのガイドに従っては機能しません。 簡単な修正として、パラメータ化された FormType クラスを使用して、自分のバンドル内 (たとえば Resources/config/controllers.yml 内) のコントローラーのサービス定義をオーバーライドすることにしました (ドキュメントに従って、オーバーライドが設定されている可能性があります)。
ymlファイルがYour \ Custom \ Bundle \ DependencyInjection \ Extension.phpに正しくロードされていることを確認してください。