0

在 Tablerate.php 中,我想更改计算。

因此,对于某些具有自定义选项(如宽度、高度)的产品,运输成本必须改变。我尝试使用这种方法来确定购物车中的一个产品的宽度或高度是否大于 60 厘米(示例)。

但目前我不知道如何获得自定义选项值......

这段代码运行良好。

foreach ($request->getAllItems() as $item) {

        echo 'Name: '.$item->getName().
            '<br/> SKU:'.$item->getSku().
            '<br/> ProductID: '.$item->getProductId().
            '<br/> Price: '.$item->getPrice().'<br/>';   }
4

2 回答 2

0

如果自定义属性是,例如 cm_size 然后执行:

$item->getCmSize()

或者$item->getData('cm_size')

于 2012-11-13T21:08:30.637 回答
0

这行得通

foreach ($request->getAllItems() as $item) {
    $selectedOpt = $item->getProduct()->getTypeInstance(true)->getOrderOptions($item->getProduct());
    $counted =  count($selectedOpt['options']);
    for ($i = 0; $i < $counted; $i++) {
        echo '<br/>'. var_dump($selectedOpt['options'][$i]['option_value']);
    }
    echo '<br/>';
}
于 2012-11-14T10:13:23.627 回答