在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/>'; }
答案 0 :(得分:0)
如果自定义属性是,例如cm_size,则执行:
$item->getCmSize()
或$item->getData('cm_size')
答案 1 :(得分: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/>';
}