Pim-community-dev: Impossible de remplacer l'entité Catégorie sur Akeneo 3 en raison du type de formulaire codé en dur

Créé le 3 avr. 2019  ·  4Commentaires  ·  Source: akeneo/pim-community-dev

Salut,

J'essaie de remplacer l'entité Category pour ajouter une nouvelle propriété, à l'aide d'Akeneo CE 3.0.10, et j'ai du mal à le faire.

Je suis la documentation officielle, plus ou moins parce que je sais qu'elle n'est pas toujours à jour.

J'ai remplacé la classe Category, c'est OK, mais le remplacement du formulaire Category n'est pas possible.
C'est logique car je viens de m'apercevoir que le paramètre pim_enrich.form.type.category.class n'existe plus ! Le type de formulaire utilisé ( Akeneo\Pim\Enrichment\Bundle\Form\Type\CategoryType ) est maintenant codé en dur :-1: dans ces deux fichiers YAML :

  • Akeneo/Pim/Enrichment/Bundle/Resources/config/form_types.yml
  • Akeneo/Pim/Enrichment/Bundle/Resources/config/controllers.yml

... alors que dans Akeneo 2 c'était OK !

Il y a un autre problème concernant l'extension de l'entité Category: # 9833, je n'ai aucune idée si cela est lié ou non.

Pourriez-vous résoudre ce problème très rapidement?

Rgds,
Perrine

bug documentation

Commentaire le plus utile

Salut @peleq-smile,
J'ai eu le même problème avec l'entité de catégorie personnalisée lors de la mise à niveau de 2.3.x à 3.0.x.
Pour l'instant, cela ne fonctionne pas en suivant le guide de la documentation officielle https://docs.akeneo.com/3.0/manipulate_pim_data/category/add_new_properties_to_a_category.html#define -the-category-form. Comme solution rapide, j'ai décidé de remplacer la définition de service du contrôleur dans mon propre bundle (par exemple dans Resources / config / controllers.yml) en utilisant la classe FormType paramétrée (pour laquelle vous avez probablement un remplacement en place - en suivant la documentation):

    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>' ] ]

assurez-vous que le fichier yml est correctement chargé dans 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...]
    }

Tous les 4 commentaires

Salut,

Pour aller de l'avant, j'ai mis à jour les deux fichiers en utilisant un paramètre pour la classe (dans le vendeur, s'il vous plaît ne me jugez pas si vite ... c'est juste pour une formation pas un vrai projet ^^), pour pouvoir le surcharger et il fonctionne.

Mais après cela, je n'ai pas pu ajouter un élément de formulaire MediaType pour ma nouvelle propriété "image" d'une catégorie, mais c'est un autre problème. Je suppose que c'est possible mais je ne sais tout simplement pas comment faire cela car il n'y a pas d'autre exemple de propriété MediaType avec le système "old twig front" dans Akeneo: '

BR,
Perrine

Salut @peleq-smile,
Comment avez-vous résolu le problème? je suis nouveau sur symfony

Salut @peleq-smile,
J'ai eu le même problème avec l'entité de catégorie personnalisée lors de la mise à niveau de 2.3.x à 3.0.x.
Pour l'instant, cela ne fonctionne pas en suivant le guide de la documentation officielle https://docs.akeneo.com/3.0/manipulate_pim_data/category/add_new_properties_to_a_category.html#define -the-category-form. Comme solution rapide, j'ai décidé de remplacer la définition de service du contrôleur dans mon propre bundle (par exemple dans Resources / config / controllers.yml) en utilisant la classe FormType paramétrée (pour laquelle vous avez probablement un remplacement en place - en suivant la documentation):

    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>' ] ]

assurez-vous que le fichier yml est correctement chargé dans 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...]
    }

Salut @peleq-smile !

Nous publions un nouveau correctif de notre documentation. Il contient un correctif pour la page "comment ajouter une nouvelle propriété à une catégorie".

https://docs.akeneo.com/3.0/manipulate_pim_data/category/add_new_properties_to_a_category.html

Veuillez nettoyer le cache de votre navigateur pour afficher la nouvelle version.

Salutations,

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

lpxavi picture lpxavi  ·  4Commentaires

lpxavi picture lpxavi  ·  3Commentaires

Piotr-Borek picture Piotr-Borek  ·  5Commentaires

grabelle picture grabelle  ·  3Commentaires

wakqasahmed picture wakqasahmed  ·  4Commentaires