#magento #magento-1.4
#magento #magento-1.4
Вопрос:
Я работаю в сценарии, в котором я хочу отправить выбранную пользовательскую опцию товара на странице корзины, создав массив, который отправляется в корзину в случае пользовательских опций.
Вот вызываемая функция, getProductOptions()
в которой создается массив опций товара и отправляется в корзину. На этом этапе я хочу отправить поле артикула выбранной пользовательской опции в корзину.
У меня есть следующий код:
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;
}
Комментарии:
1. Добавляете ли вы этот код в mage/checkout/block/cart/item/Renderer.php ?
Ответ №1:
Похоже, вам не хватает одного
'option_sku' => $this->getItem()->getSku()
Комментарии:
1. Как я мог бы изменить это, чтобы отображать имя значения пользовательской опции вместо SKU?
Ответ №2:
Не изменяйте сам блок, просто измените отображаемый шаблон, чтобы добавить a для этого поля. Извлеките данные из $_item
переменной и повторите их пользователю. Это не должно требовать внесения изменений в блок.