Magento Tablerate.php - как мне получить атрибуты? - PullRequest
1 голос
/ 03 июня 2011

Я хочу сделать мои ставки таблицы объемными, то есть вес, основанный на ширине, высоте и глубине для громоздких (но не тяжелых) предметов.Эти атрибуты настроены, и я могу прочитать их в моем собственном модуле Model / Flatrate.php.

Это работает для измерений, которые являются моими собственными атрибутами, а вес - встроенным атрибутом:

if ($request->getAllItems())

{ foreach ($request->getAllItems() as $item)
  Mage::log($item->getShipping_height());

Однако, когда я пытаюсь сделать то же самое в Tablerate.php, он не работает, даже если в ядре, а не в моем собственном модуле.Я ничего не получу за вес, рост, длину и глубину.Ничего из этого не работает, я получаю записи в файле журнала, но без меток:

    if ($request->getAllItems()) {
        foreach ($request->getAllItems() as $item) {
        Mage::log("Weight ".$item->getWeight."*");
        Mage::log("Height ".$item->getProduct()->getShipping_height()."*");
        Mage::log("Width ".$item->getShipping_width()."*");
        Mage::log("Depth ".$item->getShipping_length()."*");

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 03 июня 2011

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

    if ($request->getAllItems()) {
        foreach ($request->getAllItems() as $item) {
        $item_ID = $item->getProductId();
        $_Product = Mage::getModel('catalog/product')->load($item_ID);

        Mage::log("Weight ".$_Product->getWeight."*");
        Mage::log("Height ".$_Product->getShipping_height()."*");
        Mage::log("Width ".$_Product->getShipping_width()."*");
        Mage::log("Depth ".$_Product->getShipping_length()."*");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...