Настольные тарифы Magento

В 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/>';   }

2 ответа

Решение

Это сработало

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/>';
}

Если пользовательский атрибут, например, cm_size, тогда выполните:

$item->getCmSize()

или же $item->getData('cm_size')

Другие вопросы по тегам