Перейти к содержимому


Как Достать Id Модификации (Варианта) Из Order_Line

order_lines

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Convead

Convead

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 20 Январь 2016 - 12:16

Привет!

Помогаем клиенту интегрироваться с Convead и столкнулись с такой проблемой: как передать в событии заказа ID модификации (варианта), а не ID товара или лайн айтема?

В шаблоне страницы "Просмотр заказа" написан следующий код:

<script>
  convead('event', 'purchase', {
	order_id: '{ORDER_NUM}',
	revenue:  {ORDER_SUM},
	items: [
	  {% FOR order_lines %}
		{%IFNOT order_lines.TYPE_ID = 2%}
		  {%IFNOT order_lines.TYPE_ID = 3%}
			{product_id: '{order_lines.GOODS_MOD_ID}', qnt: {order_lines.QUANTITY}, price: {order_lines.LINE_PRICE}}{%IFNOT order_lines.last %},				 {%ENDIF%}
		{% ENDIF %}
	  {% ENDIF %}
	{% ENDFOR %}
  ]
}, {
  first_name: '{ORDER_CONTACT_PERSON}',
  email: '{ORDER_CONTACT_EMAIL}',
  phone: '{ORDER_CONTACT_PHONE}'
});

Все работает отлично, только вот order_lines.GOODS_MOD_ID возвращает пустую строку! В других местах (просмотр товара, или cart_items) это работает, а вот в заказе - нет.

Объясню, почему не подходит например order_lines.GOODS_ID. Дело в том, что ID товаров должны в точности соответствовать offer id в XML-фиде магазина, иначе Convead не опознает, что это за товар. Клиент к нам как раз обратился с этой проблемой: ID передаются, а товары не опознаются. Полезли смотреть и оказалось, что в XML-фиде (http://shabondama.ru...ex_market/16772) в качестве offer id стоит как раз то, что выдает GOODS_MOD_ID. В связи с этим во всех местах мы JS-код в шаблонах подправили, но вот с заказом засада какая-то. Помогите разобраться пожалуйста!

#2 MikDark

MikDark

    Активный участник

  • Модераторы
  • 6 468 сообщений

Отправлено 20 Январь 2016 - 14:43

Просмотр сообщенияConvead (20 Январь 2016 - 12:16) писал:

Привет!

Помогаем клиенту интегрироваться с Convead и столкнулись с такой проблемой: как передать в событии заказа ID модификации (варианта), а не ID товара или лайн айтема?

В шаблоне страницы "Просмотр заказа" написан следующий код:

<script>
convead('event', 'purchase', {
order_id: '{ORDER_NUM}',
revenue: {ORDER_SUM},
items: [
{% FOR order_lines %}
{%IFNOT order_lines.TYPE_ID = 2%}
{%IFNOT order_lines.TYPE_ID = 3%}
{product_id: '{order_lines.GOODS_MOD_ID}', qnt: {order_lines.QUANTITY}, price: {order_lines.LINE_PRICE}}{%IFNOT order_lines.last %}, {%ENDIF%}
{% ENDIF %}
{% ENDIF %}
{% ENDFOR %}
]
}, {
first_name: '{ORDER_CONTACT_PERSON}',
email: '{ORDER_CONTACT_EMAIL}',
phone: '{ORDER_CONTACT_PHONE}'
});

Все работает отлично, только вот order_lines.GOODS_MOD_ID возвращает пустую строку! В других местах (просмотр товара, или cart_items) это работает, а вот в заказе - нет.

Объясню, почему не подходит например order_lines.GOODS_ID. Дело в том, что ID товаров должны в точности соответствовать offer id в XML-фиде магазина, иначе Convead не опознает, что это за товар. Клиент к нам как раз обратился с этой проблемой: ID передаются, а товары не опознаются. Полезли смотреть и оказалось, что в XML-фиде (http://shabondama.ru...ex_market/16772) в качестве offer id стоит как раз то, что выдает GOODS_MOD_ID. В связи с этим во всех местах мы JS-код в шаблонах подправили, но вот с заказом засада какая-то. Помогите разобраться пожалуйста!

Данная переменная {order_lines.GOODS_MOD_ID} доступна только если она находится в цикле
{% FOR order_lines %}
{order_lines.GOODS_MOD_ID}
{% ENDFOR %}

#3 Convead

Convead

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 20 Январь 2016 - 14:51

Просмотр сообщенияMikDark (20 Январь 2016 - 14:43) писал:

Данная переменная {order_lines.GOODS_MOD_ID} доступна только если она находится в цикле
{% FOR order_lines %}
{order_lines.GOODS_MOD_ID}
{% ENDFOR %}

Так ведь она и находится внутри цикла (см. код).

#4 Convead

Convead

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 21 Январь 2016 - 12:08

Просмотр сообщенияMikDark (20 Январь 2016 - 14:43) писал:

Данная переменная {order_lines.GOODS_MOD_ID} доступна только если она находится в цикле
{% FOR order_lines %}
{order_lines.GOODS_MOD_ID}
{% ENDFOR %}

Этот код не работает, выводятся пустые значения. Вы не могли бы дать более развернутый ответ на вопрос? Спасибо!

#5 Ирина345

Ирина345

    Активный участник

  • Модераторы
  • 5 709 сообщений

Отправлено 25 Январь 2016 - 15:19

Просмотр сообщенияConvead (21 Январь 2016 - 12:08) писал:

Этот код не работает, выводятся пустые значения. Вы не могли бы дать более развернутый ответ на вопрос? Спасибо!
Здравствуйте, попробуйте использовать переменную
{order_lines.MOD_ID}, но только в цикле.

#6 Convead

Convead

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 25 Январь 2016 - 15:41

Спасибо, теперь все получилось!




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных