【问题标题】:Getting tier price value according to the different stores根据不同的商店获取等级价格值
【发布时间】:2014-04-28 17:20:55
【问题描述】:

我想将层级数据放入一些变量中。为此,我通过 json_encode() 函数获取特定产品的层级价格,如下所示:

var tierPrices = <?php echo json_encode($_product->getTierPrice()) ?>;
    var getPrice = function(qty){
        qty = Number(qty);
        var i = tierPrices.length;
        while(i--)
        {
            if(qty >= tierPrices[i]['price_qty']){
                return tierPrices[i]['price'];
            }
        }
        return null;
    };


var price = getPrice(this.value);

我需要的是根据不同的商店获取价格值,因为它总是选择默认展示商店的等级价格。我试过这个:

var price = "<?php echo Mage::helper('core')->currency?>"+(getPrice(this.value));

但是两家商店的等级价格价值是一样的。 层级价格将如何根据不同的商店货币来。

【问题讨论】:

    标签: javascript php magento


    【解决方案1】:

    您必须根据商店ID加载产品。

    首先您必须获取商店 ID。

    $storeId    = Mage::app()->getStore()->getId();
    

    然后通过商店 ID 加载该产品。

    $_product = Mage::getModel('catalog/product')
            ->setStoreId($storeId)
            ->load($key);
    

    然后取该产品的轮胎价格。

    $_product->getTierPrice();
    

    【讨论】:

    • 这不适用于层级价格。如果商店 ID 为“1”或商店 ID 为“2”,则将出现相同的层级价格。它将带来相同的价格数组。
    • $storeId = Mage::app()->getStore()->getId(); echo "商店 id 是".$storeId; $products = Mage::getModel('catalog/product') ->setStoreId($storeId); $cpid = Mage::registry('current_product')->getId(); $products->load($cpid); $array = $products->getTierPrice(); print_r($array);
    • 这就是我遵循代码的方式,但是当我在两个商店中打开相同的产品时,它会打印出相同的数组。
    • 每家商店的价格不同还是相同...
    • 每家店都是一样的价格
    猜你喜欢
    • 2012-05-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2017-04-13
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多