Pim-community-dev: Невозможно переопределить объект категории на Akeneo 3 из-за жестко заданного типа формы

Созданный на 3 апр. 2019  ·  4Комментарии  ·  Источник: akeneo/pim-community-dev

Привет,

Я пытаюсь переопределить сущность категории, чтобы добавить новое свойство, используя Akeneo CE 3.0.10, и у меня возникают некоторые проблемы с этим.

Я слежу за официальной документацией, более или менее потому, что знаю, что она не всегда актуальна.

Я переопределил класс категории, это нормально, но переопределение формы категории невозможно.
Это логика, потому что я только что заметил, что параметр pim_enrich.form.type.category.class больше не существует! Используемый тип формы ( Akeneo\Pim\Enrichment\Bundle\Form\Type\CategoryType ) теперь жестко запрограммирован : -1: в эти два файла YAML:

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

... тогда как в Akeneo 2 все было нормально!

Есть еще одна проблема с расширением сущности категории: # 9833, я не знаю, связана она или нет.

Не могли бы вы исправить это как можно скорее?

RGDS,
Перрин

bug documentation

Самый полезный комментарий

Привет @ peleq-smile,
У меня была такая же проблема с настраиваемым объектом категории при обновлении с 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. В качестве быстрого исправления я решил переопределить определение службы контроллера в моем собственном пакете (например, в Resources / config / controllers.yml), используя параметризованный класс FormType (для которого у вас, вероятно, есть переопределение - следуя документации):

    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...]
    }

Все 4 Комментарий

Привет,

Чтобы продолжить, я обновил оба файла, используя параметр для класса (у поставщика, пожалуйста, не судите меня так быстро ... это просто для обучения, а не для реального проекта ^^), чтобы иметь возможность переопределить его и это работает.

Но после этого мне не удалось добавить элемент формы MediaType для моего нового свойства «изображение» категории, но это еще одна проблема. Я предполагаю, что это возможно, но я просто не знаю, как это сделать, потому что в Akeneo нет другого образца свойства MediaType с системой «старый ветвь»: '

BR,
Перрин

Привет @ peleq-smile,
Как вы решили проблему? Я новичок в Symfony

Привет @ peleq-smile,
У меня была такая же проблема с настраиваемым объектом категории при обновлении с 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. В качестве быстрого исправления я решил переопределить определение службы контроллера в моем собственном пакете (например, в Resources / config / controllers.yml), используя параметризованный класс FormType (для которого у вас, вероятно, есть переопределение - следуя документации):

    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-smile!

Мы выпускаем новое исправление нашей документации. Он содержит исправление для страницы «как добавить новое свойство в категорию».

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

Пожалуйста, очистите кеш вашего браузера, чтобы показать новую версию.

С уважением,

Была ли эта страница полезной?
0 / 5 - 0 рейтинги