我想检查在 Akeneo V. 1.3 中编辑 Variant 组后某些属性值是否已更改。

不幸的是,我有点迷失了:有没有办法从 Pim\Bundle\CatalogBundle\Entity\Group 获取属性值?是否有另一种更好的方法来获取已编辑的 Variant 组的这些值?

我什至无法找出属性值存储在 MySQL 中的哪个表中(我刚刚找到了产品值的 pim_catalog_product_value)。

最佳答案

是的,深入研究这部分并不容易。

变体组的值与产品值的存储方式不同。

这些变体组值仅用于在相关产品中复制并存储在产品模板中。

从产品模板中,您可以使用 json 获取标准化的值

$group->getProductTemplate()->getValuesData()`.

您可以查看 ProductTemplateApplier 和 ProductTemplateUpdater 以了解我们如何在产品上应用变体组值(json 格式几乎可以直接与产品更新程序一起使用)。

当我们编辑变体组时,为了能够使用与产品相同的表单,我们使用订阅者 TransformProductTemplateValuesSubscriber

它将 json 值非规范化为产品值对象
$this->denormalizer->denormalize($data->getValuesData(), 'ProductValue[]', 'json');`

如果您需要更多信息,请不要犹豫。

关于symfony - Akeneo:从变体组获取属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31723304/

10-11 03:54