Akeneo 2.1.4: Как я могу использовать значение атрибута в качестве метки для модели продукта в сетке данных?

Когда я использую модели продуктов в Akeneo 2.1.4, я вижу код модели продукта в колонке label. Но я хочу показать там значение определенного атрибута; name например или group name. Как я могу этого добиться?

Изменить:

Я попытался расширить класс и переписать его в своем собственном entities.yml:

parameters:
    # Rewrite product model so we can override the getLabel()-method:
    pim_catalog.entity.product_model.class: Vendor\Bundle\AppBundle\Model\ProductModel

Но затем я получаю сообщение об ошибке:

The class 'Vendor\Bundle\AppBundle\Model\ProductModel' was not found in the chain configured namespaces 
    Gedmo\Tree\Entity, 
    Oro\Bundle\ConfigBundle\Entity, 
    Oro\Bundle\UserBundle\Entity, 
    Pim\Bundle\CustomEntityBundle\Entity, 
    FOS\OAuthServerBundle\Entity, 
    Pim\Bundle\UserBundle\Entity, 
    Pim\Bundle\ApiBundle\Entity, 
    Pim\Bundle\CatalogBundle\Entity, 
    Pim\Bundle\CommentBundle\Entity, 
    Pim\Bundle\DataGridBundle\Entity, 
    Pim\Bundle\NotificationBundle\Entity, 
    Akeneo\Component\Batch\Model, 
    Akeneo\Component\BatchQueue\Queue, 
    Akeneo\Component\FileStorage\Model, 
    Pim\Component\Catalog\Model, 
    Akeneo\Component\Versioning\Model

person Giel Berkers    schedule 23.02.2018    source источник


Ответы (1)


Для этого вам не нужно делать собственный код. В Akeneo PIM вы можете определить, какой из атрибутов вашего семейства будет использоваться в качестве метки в сетке.

Когда вы редактируете одного из членов вашей семьи, вы можете выбрать нужный атрибут: введите здесь описание изображения

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

Дайте мне знать, если я не понял вашу настоящую проблему.

person grena    schedule 20.03.2018
comment
Я нашел это решение, но в моем случае у меня есть разные атрибуты, которые я хочу использовать в качестве метки. Например: я хочу, чтобы «имя» использовалось для моих продуктов, а «имя_группы» — для моделей моих продуктов. Но я уже нашел рабочее решение, расширив Pim\Bundle\DataGridBundle\Normalizer\ProductModelNormalizer::normalize() и манипулируя свойством $data['label']. - person Giel Berkers; 21.03.2018
comment
Хорошо, теперь я вижу вашу проблему. Рад, что вы нашли решение. Действительно, это правильное место, чтобы сделать это! - person grena; 21.03.2018