Magento自定义变量问题

时间:2014-06-09 11:37:25

标签: php magento magento-1.8

我正在编写自定义模块,用户可以输入每件产品的运费。

我在所有名为'initial_shipping_charge'的产品中添加了自定义变量。在我的获取运费率函数中,我试图遍历我的购物篮中的产品并获取变量(这些将被添加到总体)。

var_dump($ shipping_price_initial); line返回NULL而不是它包含的变量 - 任何想法为什么这不起作用?

提前致谢。

protected function _getStandardShippingRate()
{
    $rate = Mage::getModel('shipping/rate_result_method');
    /* @var $rate Mage_Shipping_Model_Rate_Result_Method */

    $rate->setCarrier($this->_code);
    /**
     * getConfigData(config_key) returns the configuration value for the
     * carriers/[carrier_code]/[config_key]
     */


     $shipping_price_value = rand(10 , 50);

     //Create a basket session object
     $session = Mage::getSingleton('checkout/session');

    foreach ($session->getQuote()->getAllItems() as $item) {

        $item_id = $item->getId();
        $_basketProduct = Mage::getModel('catalog/product')->load($item_id);

        $shipping_price_initial = $_basketProduct->getAttribute('initial_shipping_charge');

        var_dump($shipping_price_initial);
    }

    $rate->setCarrierTitle($this->getConfigData('title'));

    $rate->setMethod('standand');
    $rate->setMethodTitle('Standard');

    $rate->setPrice($shipping_price_value);
    $rate->setCost(0);

    return $rate;
}

1 个答案:

答案 0 :(得分:1)

$_basketProduct->getAttribute('initial_shipping_charge');

应该是

$_basketProduct->getData('initial_shipping_charge');

$_basketProduct->getInitialShippingCharge();

但是我想你甚至没有产品导致你获取报价项ID并尝试加载具有该ID的产品....你需要:

$item->getProduct()

P.S:

产品>& - 经济通GT;顺序

有一个转换过程,查找"引用订单转换"或"产品引用项目转换"