Akeneo:从Variant组中获取属性

时间:2015-07-30 12:03:31

标签: symfony akeneo

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

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

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

1 个答案:

答案 0 :(得分:8)

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

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

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

从产品模板中,您可以使用

获取在json中规范化的值
$group->getProductTemplate()->getValuesData()`.

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

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

使用

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

如果您需要任何进一步的信息,请不要犹豫。