Как отправить поле Product Selected Custom Option Sku на страницу корзины в Magento

Я работаю над сценарием, в котором хочу отправить выбранный продукт. Артикул пользовательского варианта на странице корзины создал массив, который отправляется в корзину в случае пользовательских параметров.

Вот функция с именем getProductOptions(), в которой массив вариантов продукта создается и отправляется в корзину. На этом этапе я хочу отправить выбранное поле SKU пользовательского варианта в корзину.

У меня есть следующий код:

public function getProductOptions()
{
    $options = array();
    if ($optionIds = $this->getItem()->getOptionByCode('option_ids')) {
        $options = array();
        foreach (explode(',', $optionIds->getValue()) as $optionId) {
            if ($option = $this->getProduct()->getOptionById($optionId)) {

//echo $optionId;   
                echo "hhhhhhhhhhhhh";
//print_r( $option->getId());
//echo Mage::getModel('catalog/product')->getOptionSku($option);
//die();
//print_r( $option->getOptionSku());
//echo Mage_Catalog_Model_Product_Option_Type_Select::getOptionSku());

                $quoteItemOption = $this->getItem()->getOptionByCode('option_' . $option->getId());
//echo $option->getQuoteItemOption($quoteItemOption);
                $group = $option->groupFactory($option->getType())
                    ->setOption($option)
                    ->setQuoteItemOption($quoteItemOption);
                $options[] = array(
                    'label' => $option->getTitle(),
                    'value' => $group->getFormattedOptionValue($quoteItemOption->getValue()),
                    'print_value' => $group->getPrintableOptionValue($quoteItemOption->getValue()),
                    'option_id' => $option->getId(),
                    'option_type' => $option->getType(),
                    'custom_view' => $group->isCustomizedView(),
                    'option_sku'=>//What should i call here to send Selected option SKU to this Array
                );
            }
        }    
        if ($addOptions = $this->getItem()->getOptionByCode('additional_options')) {
            $options = array_merge($options, unserialize($addOptions->getValue()));
        }
    }
    return $options;
}

person Ali Nasrullah    schedule 11.04.2011    source источник
comment
Вы добавляете этот код в mage/checkout/block/cart/item/Renderer.php?   -  person Sam    schedule 16.08.2012


Ответы (2)


Похоже, что то, чего вам не хватает,

'option_sku' => $this->getItem()->getSku()
person clockworkgeek    schedule 12.04.2011
comment
Как я могу изменить это, чтобы отображать имя значения пользовательского параметра вместо SKU? - person Sam; 16.08.2012

Не изменяйте сам блок, просто измените отображаемый шаблон, чтобы добавить для этого поля. Возьмите данные из переменной $_item и отправьте их пользователю. Это не должно требовать никаких модификаций блока.

person Joseph Mastey    schedule 11.04.2011