Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Заказ в "1 клик" - basket.js

Автор samРаздел JS и AJAX

Ответов: 9
Просмотров: 4886
Последний ответ 04 Февраля 2015, 12:51:28
от sam
Как сделать "Заказ в 1 шаг" на сайте выведенном с UMI

Автор tbm-mРаздел Шаблоны XSLT

Ответов: 1
Просмотров: 3489
Последний ответ 01 Января 2016, 06:47:54
от admin
Помогите пожалуйста с функционалом "Заказ в 1 клик"

Автор teamquatroРаздел Настройка системы и модулей

Ответов: 1
Просмотров: 1314
Последний ответ 19 Мая 2015, 11:27:45
от teamquatro
Добавление данных из объекта в форму "Заказ в 1 клик"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 4000
Последний ответ 11 Ноября 2014, 11:14:45
от Axiomateria
Вывести сумму заказа на странице "Заказ поступил в обработку"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 3779
Последний ответ 07 Ноября 2014, 23:46:49
от Axiomateria

0 Пользователей и 1 Гость просматривают эту тему.

*

rhino

  • *
  • 3
  • +0/-0
    • Просмотр профиля
Не передаются опции в заказ
« : 28 Апреля 2015, 12:16:23 »
Всем привет! Прошу строго не судить, только начинаю изучать 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.
Прошу помочь с опциями и с этой ошибкой.

Спасибо!
« Последнее редактирование: 28 Апреля 2015, 12:31:18 от rhino »

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re: Не передаются опции в заказ
« Ответ #1 : 28 Апреля 2015, 14:04:24 »
попробуйте напрямую добавить ваш товар (запустите url my_site.ru/emarket/basket/put/element/78/?options[razmer]=6330), затем также смотрите в корзине, что получилось.

*

rhino

  • *
  • 3
  • +0/-0
    • Просмотр профиля
Re: Не передаются опции в заказ
« Ответ #2 : 28 Апреля 2015, 14:10:25 »
Эффект тот-же :-(

<items>
<item id="6401" name="FBM-27" xlink:href="uobject://6401">
<amount>1</amount>
<options/>

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re: Не передаются опции в заказ
« Ответ #3 : 28 Апреля 2015, 14:47:28 »
Возможно, у этого товара нет соответствующей опции. Черканите в личку url вашего сайта, если он в сети лежит.

*

rhino

  • *
  • 3
  • +0/-0
    • Просмотр профиля
Re: Не передаются опции в заказ
« Ответ #4 : 28 Апреля 2015, 15:03:11 »
url смогу чуть позже скинуть.

Сама опция у товара есть. Сейчас более наглядно покажу.

Опции в админке товара: 1.png
Сама опция в справочнике и ее id: 2.png
Выбор опции на сайте в карточке товара: 3.png

В карточке опции выводятся стандартными шаблонами:

<xsl:apply-templates select="$catalog_option_props" mode="catalog_opt_props"/>

И далее шаблон для вывода. Все работает, все опции выводятся как положено, но вот в корзину никак не могу отправить их.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re: Не передаются опции в заказ
« Ответ #5 : 28 Апреля 2015, 16:59:14 »
Пока все выглядит по принципу "должно работать", но видимо какая-то мелочь мешает. Пишите url, может удастся подсказать вам что-то, после быстрого осмотра сайта.

*

verolom

  • *
  • 8
  • +0/-0
    • Просмотр профиля
    • XSLT.pw
Re: Не передаются опции в заказ
« Ответ #6 : 18 Февраля 2017, 03:55:03 »
Пост старый, но многие могут на него натолкнуться через гуглы.

Чтобы заработало опционное свойство, надо группу, в которой это свойство находится, добавить в config.ini. Подробнее описано в документации. Далеко не очевидный момент, но он есть, нужно просто знать.