Интеграция С Сервисом Доставки
#1
Отправлено 08 Август 2013 - 22:43
Возможна ли интеграция вот этих API : http://shop-logistic...es/service/api/ с магазином? В частности расчет стоимости доставки по городам и тому подобное?
#2
Отправлено 09 Август 2013 - 00:09
#3
Отправлено 09 Август 2013 - 10:42
#4
Отправлено 09 Август 2013 - 13:39
#5
Отправлено 09 Август 2013 - 13:40
#6
Отправлено 12 Август 2013 - 21:49
Тогда такой вопрос пока что: Связавшись с курьерской службой, приходится все города, с которыми они работают, добавлять вручную, раз API никак, и это не один десяток. Возможно ли список зон убрать в прокручивающееся меню? На скрине тестовый вариант, только два города. Полный список создаст простыню, непорядок...
#7
Отправлено 12 Август 2013 - 22:42
Masacra (12 Август 2013 - 21:49) писал:
Тогда такой вопрос пока что: Связавшись с курьерской службой, приходится все города, с которыми они работают, добавлять вручную, раз API никак, и это не один десяток. Возможно ли список зон убрать в прокручивающееся меню? На скрине тестовый вариант, только два города. Полный список создаст простыню, непорядок...
Оберните Ваш код зон доставки
<input type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %} checked="checked" rel="true" {% ENDIF %} /> <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}"> {order_delivery.zone_list.NAME} <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span> </label>В DIV с нужными стилями
<div style="height:150px; overflow-y:scroll;"><input type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %} checked="checked" rel="true" {% ENDIF %} /> <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}"> {order_delivery.zone_list.NAME} <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span> </label></div>За высоту отвечает стиль height, меняйте его значение в зависимости от необходимой высоты.
#8
Отправлено 15 Август 2013 - 22:44
И как тут сделать, чтобы основной способ доставки нельзя было выбрать без выбора зоны?
И нет ли возможности корректировать стоимость заказа при выборе способа оплаты? Т.к. курьерская служба удерживает процент при оплате через неё.
#9
Отправлено 15 Август 2013 - 22:45
Как 100 городов добавить?
#10
Отправлено 16 Август 2013 - 00:18
Цитата
По сути это зависит от того - какая тема у вас установлена. Возможно небольшое отличие.
Цитата
По идее при корректной работе javascript (имеется в виду что нет ошибок) - при выборе способа доставки выбирается первая зона по умолчанию.
Цитата
К сожалению, данной возможности нет.
Цитата
Пожалуйста, опишите по подробнее ваш вопрос.
#11
Отправлено 16 Август 2013 - 00:39
Сake (16 Август 2013 - 00:18) писал:
Пожалуйста, опишите по подробнее ваш вопрос.
Вопрос тот же. Возможно ли список зон убрать в прокручивающееся меню? В корзине. При выборе способа доставки. Шаг 2.
Шаблон Сияние.
P.S. Извините, Masacra, что влезла в Вашу тему. Давно ломаю голову над этим вопросом. А, тут курьерская компания расширила список городов. Скорее всего мы с Вами пользуемся услугами одной компании.
#12
Отправлено 16 Август 2013 - 11:08
Вот часть шаблона с доставкой:
<!-- Шаг 2. Доставка --> {% IF ORDER_STAGE_NUM=2%} <div class="orderStageDelivery"> <h3>Выберите удобный для вас способ доставки</h3> <div class="orderInfo"> <table class="orderStageDeliveryListTable"> {% FOR order_delivery %} <tbody rel="{order_delivery.ID}"> <tr> <td class="cell1" rowspan="2"> <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio" {% IFNOT ORDER_FORM_DELIVERY_ID %} {% IF order_delivery.first %} checked="checked" {% ENDIF %} {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %} checked="checked" {% ENDIF %} /> </td> <td class="cell2"> <label for="deliveryId{order_delivery.ID}">{order_delivery.NAME}</label> </td> <td rowspan="2" class="cell3 num"> + <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span> <span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span> </td> </tr> <tr> <td class="cell4">{order_delivery.DESC}</td> </tr> {% IFNOT order_delivery.zone_list_empty %} {% FOR zone_list %} <tr> <td></td> <td class="cell5"> <!-- Заголовок внутри метода доставки, появляется только один раз--> {% IF order_delivery.zone_list.index=1 %} <label class="orderStageDeliveryZoneHeader" for="deliveryId{order_delivery.ID}">Зоны доставки</label> {% ENDIF %} <input type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %} checked="checked" rel="true" {% ENDIF %} /> <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}"> {order_delivery.zone_list.NAME} <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span> </label> </td> </tr> {% ENDFOR %} {% ENDIF %} </tbody> {% ENDFOR %} </table> </div>
2.
Цитата
3.
Цитата
#13
Отправлено 16 Август 2013 - 21:16
#14
Отправлено 17 Август 2013 - 04:11
{% IFNOT order_delivery.zone_list_empty %} {% FOR zone_list %} <tr> <td></td> <td class="cell5"> <!-- Заголовок внутри метода доставки, появляется только один раз--> {% IF order_delivery.zone_list.index=1 %} <label class="orderStageDeliveryZoneHeader" for="deliveryId{order_delivery.ID}">Зоны доставки</label> {% ENDIF %} <input type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %} checked="checked" rel="true" {% ENDIF %} /> <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}"> {order_delivery.zone_list.NAME} <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span> </label> </td> </tr> {% ENDFOR %} {% ENDIF %}
и замените на
{% IFNOT order_delivery.zone_list_empty %} <tr> <td></td> <td class="cell5"> <!-- Заголовок внутри метода доставки, появляется только один раз--> {% IF order_delivery.zone_list.index=1 %} <label class="orderStageDeliveryZoneHeader" for="deliveryId{order_delivery.ID}">Зоны доставки</label> {% ENDIF %} <div style="overflow-y: auto; max-height: 200px;"> <table> {% FOR zone_list %} <tr> <td> <input type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %} checked="checked" rel="true" {% ENDIF %} /> <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}"> {order_delivery.zone_list.NAME} <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span> </label> </td> </tr> {% ENDFOR %} </table> </div> </td> </tr> {% ENDIF %}
далее в файл main.js добавьте
$(function() { $('.deliveryRadio').click(function() { $(this).closest('tbody').find('.deliveryZoneRadio:first').trigger('click'); }); });
#15
Отправлено 17 Август 2013 - 08:15
Vaccina (17 Август 2013 - 04:11) писал:
{% IFNOT order_delivery.zone_list_empty %} {% FOR zone_list %} <tr> <td></td> <td class="cell5"> <!-- Заголовок внутри метода доставки, появляется только один раз--> {% IF order_delivery.zone_list.index=1 %} <label class="orderStageDeliveryZoneHeader" for="deliveryId{order_delivery.ID}">Зоны доставки</label> {% ENDIF %} <input type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %} checked="checked" rel="true" {% ENDIF %} /> <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}"> {order_delivery.zone_list.NAME} <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span> </label> </td> </tr> {% ENDFOR %} {% ENDIF %}
и замените на
{% IFNOT order_delivery.zone_list_empty %} <tr> <td></td> <td class="cell5"> <!-- Заголовок внутри метода доставки, появляется только один раз--> {% IF order_delivery.zone_list.index=1 %} <label class="orderStageDeliveryZoneHeader" for="deliveryId{order_delivery.ID}">Зоны доставки</label> {% ENDIF %} <div style="overflow-y: auto; max-height: 200px;"> <table> {% FOR zone_list %} <tr> <td> <input type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %} checked="checked" rel="true" {% ENDIF %} /> <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}"> {order_delivery.zone_list.NAME} <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span> </label> </td> </tr> {% ENDFOR %} </table> </div> </td> </tr> {% ENDIF %}
далее в файл main.js добавьте
$(function() { $('.deliveryRadio').click(function() { $(this).closest('tbody').find('.deliveryZoneRadio:first').trigger('click'); }); });
Vaccina (17 Август 2013 - 04:11) писал:
{% IFNOT order_delivery.zone_list_empty %} {% FOR zone_list %} <tr> <td></td> <td class="cell5"> <!-- Заголовок внутри метода доставки, появляется только один раз--> {% IF order_delivery.zone_list.index=1 %} <label class="orderStageDeliveryZoneHeader" for="deliveryId{order_delivery.ID}">Зоны доставки</label> {% ENDIF %} <input type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %} checked="checked" rel="true" {% ENDIF %} /> <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}"> {order_delivery.zone_list.NAME} <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span> </label> </td> </tr> {% ENDFOR %} {% ENDIF %}
и замените на
{% IFNOT order_delivery.zone_list_empty %} <tr> <td></td> <td class="cell5"> <!-- Заголовок внутри метода доставки, появляется только один раз--> {% IF order_delivery.zone_list.index=1 %} <label class="orderStageDeliveryZoneHeader" for="deliveryId{order_delivery.ID}">Зоны доставки</label> {% ENDIF %} <div style="overflow-y: auto; max-height: 200px;"> <table> {% FOR zone_list %} <tr> <td> <input type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %} checked="checked" rel="true" {% ENDIF %} /> <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}"> {order_delivery.zone_list.NAME} <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span> </label> </td> </tr> {% ENDFOR %} </table> </div> </td> </tr> {% ENDIF %}
далее в файл main.js добавьте
$(function() { $('.deliveryRadio').click(function() { $(this).closest('tbody').find('.deliveryZoneRadio:first').trigger('click'); }); });
Что-то у меня вообще ничего не изменилось? Неужели все-таки есть решение?
#16
Отправлено 18 Август 2013 - 08:26
#17
Отправлено 18 Август 2013 - 10:18
На скрине, идеальный вариант Оформления заказа. 1 шаг. Все товары видны. Выпадающий список городов. И т. д. Интересно, будет у нас когда-нибудь что-то подобное?
#18
Отправлено 18 Август 2013 - 10:46
Насчёт API не согласен. Множество городов, пунктов самовывоза в каждом, с разными ценами, разными процентами за кассовое обслуживание, рассчитывать всё вручную, заполнять на сайте курьерской службы, исправлять муторно и время занимает, а его есть на что потратить. Но о таких вещах на нашей платформе пока даже не мечтаю, удастся убрать список в скрол, и на том спасибо будет
#19
Отправлено 18 Август 2013 - 11:30
Masacra (18 Август 2013 - 10:46) писал:
Посмотрела как другие ИМ на StoreLand решили эту проблемму. "Точная цена уточняется при подтверждении заказа", но ведь это не профессионально. Или мы растем быстрей StoreLand? А, факт, того что тема мало кого волнует, не подтверждает ли подозрения, что "подросшие", успешные ИМ уходят на другие платформы? А, так не хочется уходить из-за такой важной "ерунды".
#20
Отправлено 18 Август 2013 - 13:39
velena168 (18 Август 2013 - 11:30) писал:
velena168 (18 Август 2013 - 11:30) писал:
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных