Всем привет! Прошу строго не судить, только начинаю изучать UMI.
Столкнулся вот с такой проблемой.
Есть карточка товара с опционным свойством [razmer]. Опция подхватывается и передается ссылкой:
my_site.ru/emarket/basket/put/element/78/?redirect-uri=/emarket/cart&options[razmer]=6330
Тип поля для размера - составное. Значения берутся из справочника.
Но вот в самой корзине эту опцию не нашел.
my_site.ru/emarket/cart/.xml
<items>
<item id="6396" name="FBM-27" xlink:href="uobject://6396">
<amount>1</amount>
<options/>
В ветке <options> пусто. Может я не правильно делаю и подхватывать опции надо как-то по-другому?
Есть еще один момент. К сожалению, не помню после чего появилась вот такая ошибка при добавлении любого товара в корзину:
Invalid argument supplied for foreach() in .../classes/modules/emarket/classes/orders/items/optioned.php on line 132
Вот кусок, на который ругается обработчик:
protected function reloadOptions() {
$options = array();
$objectOptions = array();
foreach($this->object->options as $optionInfo) {
$objectOptions[$optionInfo['varchar']] = $optionInfo;
$options[$optionInfo['varchar']] = array(
'option-id' => getArrayKey($optionInfo, 'rel'),
'price' => getArrayKey($optionInfo, 'float'),
'field-name' => getArrayKey($optionInfo, 'varchar')
);
}
$this->object->options = $objectOptions;
$this->options = $options;
}
Если закомментировать эти строки,
foreach($this->object->options as $optionInfo) {
$objectOptions[$optionInfo['varchar']] = $optionInfo;
$options[$optionInfo['varchar']] = array(
'option-id' => getArrayKey($optionInfo, 'rel'),
'price' => getArrayKey($optionInfo, 'float'),
'field-name' => getArrayKey($optionInfo, 'varchar')
);
}
то ошибка не появляется.
Может в этом и проблема? Пока еще не вник во все механизмы UMI.
Прошу помочь с опциями и с этой ошибкой.
Спасибо!
Эффект тот-же :-(
<items>
<item id="6401" name="FBM-27" xlink:href="uobject://6401">
<amount>1</amount>
<options/>
url смогу чуть позже скинуть.
Сама опция у товара есть. Сейчас более наглядно покажу.
Опции в админке товара: 1.png
Сама опция в справочнике и ее id: 2.png
Выбор опции на сайте в карточке товара: 3.png
В карточке опции выводятся стандартными шаблонами:
<xsl:apply-templates select="$catalog_option_props" mode="catalog_opt_props"/>
И далее шаблон для вывода. Все работает, все опции выводятся как положено, но вот в корзину никак не могу отправить их.