Magento更新每个商店的价格视图SQL

时间:2018-01-17 09:19:08

标签: php mysql sql magento

我尝试在商店视图中更新产品价格。

我想要实现的是一个查询,它在商店视图A中获取产品的价格,乘以数字(汇率)。并将新价格应用于storeview B的产品。

现在我只想出了一个查询,几乎就是这样。 唯一的问题是我需要将id更改为“cped.entity_id = 1<<此ID在查询中”的相应ID。 现在我用合适的价格更新价格,选择相同的产品价格,一遍又一遍地计算。

我也看到了一个扁平的目录表,现在是我的问题:我可以直接查询或者这不是一个好主意吗?

(使用Magento 1.9)

 UPDATE catalog_product_entity_decimal val
  SET  val.value = (
                     SELECT tmpref.value
                     FROM (SELECT cped.value
                           FROM catalog_product_entity_decimal cped
                           WHERE cped.attribute_id = (
                             SELECT attribute_id
                             FROM eav_attribute eav
                             WHERE eav.entity_type_id = 4
                                   AND eav.attribute_code = 'price')
                                 AND cped.store_id = 0
                                 AND cped.entity_id = 1)
                       AS tmpref) * (
    SELECT rate
    FROM directory_currency_rate dcr
    WHERE dcr.currency_from = 'EUR' AND dcr.currency_to = 'GBP')
 WHERE  val.attribute_id =
         (SELECT attribute_id
          FROM eav_attribute eav
          WHERE eav.entity_type_id = 4
                AND eav.attribute_code = 'price')
        AND val.store_id = 2;

1 个答案:

答案 0 :(得分:0)

制作Magento 1.9模块以更新每个商店视图的价格并使用汇率。你可以在这里找到它:

Magento 1.9 price update per store view github