Добрый день. Магазин https://g622880.storeland.ru
Подскажите, пожалуйста. Можно ли создать правило расчёта стоимости доставки, исходя из какой-либо характеристики товара? Например, вес товара. Например, если в характеристике товара прописан вес до 3 кг - стоимость доставки по Москве = 300 рублей. Если вес товара более 3 кг, стоимость доставки = 500 рублей. Если вес товара более 10 кг, стоимость доставки = 1000 рублей. И так далее.
Или, может быть, можно каждому товару можно присвоить некий "флаг", например цифра от 1 до 3-х. Если у товара стоит флаг = 1, то доставка = 300 рублей. Если флаг товара = 2, стоимость доставки = 500 рублей. Если флаг товара = 3, стоимость доставки = 1000 рублей. И так далее.
Флаг присваиваем при добавлении товара на сайт.
0
Правила Расчёта Стоимости Доставки
Автор Barmalei, 04 апр. 2019 22:35
Сообщений в теме: 8
#1
Отправлено 04 Апрель 2019 - 22:35
#2
Отправлено 05 Апрель 2019 - 01:31
Здравствуйте.
В этом случае необходимо создать в разделе Настройки - Доставка виды доставки под каждое условие и по умолчанию его выбирать через скрипт, иные способы скрывать.
В этом случае необходимо создать в разделе Настройки - Доставка виды доставки под каждое условие и по умолчанию его выбирать через скрипт, иные способы скрывать.
#4
Отправлено 06 Апрель 2019 - 03:12
Здравствуйте.
Добавьте товарам характеристику "вес" и добавьте способы доставки для условий, укажите каким товарам добавили характеристику чтобы взять их за основу.
Добавьте товарам характеристику "вес" и добавьте способы доставки для условий, укажите каким товарам добавили характеристику чтобы взять их за основу.
#5
Отправлено 08 Апрель 2019 - 22:55
Посмотрите, пожалуйста. Я добавил несколько товаров и добавил им характеристики "Вес" и "LC" (логистическая характеристика). Для удобства, присвоил этим характеристикам одинаковые значения. Чем выше вес или логистическая характеристика - тем дороже доставка. Так же, добавил зоны доставки в зависимости от суммы заказа - соответственно, нужно поставить стоимость доставки в зависимость от значения логистической характеристики или веса. Лучше работать с логистической характеристикой.. Я всё правильно сделал, Вы так просили?)
Все товары с прописанными характеристиками находятся в разделе https://trendibrend....alog/Vse-tovary
Все товары с прописанными характеристиками находятся в разделе https://trendibrend....alog/Vse-tovary
#6
Отправлено 18 Апрель 2019 - 10:59
Ответьте, пожалуйста.
#7
Отправлено 22 Апрель 2019 - 09:27
Ответьте, пожалуйста. Уже третья неделя пошла с вашего последнего ответа...
#8
Отправлено 25 Май 2019 - 04:51
Здравствуйте.
Зайдите в раздел Сайт - Редактор шаблонов - Корзина - найдите:
после него вставьте:
далее зайдите в main.css - найдите:
после него вставьте:
далее зайдите в main.js - найдите:
после него вставьте:
Зайдите в раздел Сайт - Редактор шаблонов - Корзина - найдите:
<td class="goodsNameInCart name"> <a href="{cart_items.GOODS_URL}" class="cartFormTbodyHeader"> {cart_items.GOODS_NAME} <!-- Если у товара есть отличительные свойства для модификации товара, допишем их к названию товара --> {% IFNOT cart_items.distinctive_properties_empty %}<div>({% FOR distinctive_properties %}{cart_items.distinctive_properties.NAME}: {cart_items.distinctive_properties.VALUE}{% IFNOT cart_items.distinctive_properties.last %}, {% ENDIF %}{% ENDFOR %})</div>{% ENDIF %} </a>
после него вставьте:
<div class="del_char"> {% FOR goods_attr_list %} {% IF cart_items.goods_attr_list.NAME=LC %}<span class="lc">{cart_items.goods_attr_list.VALUE}</span> {% ELSEIF cart_items.goods_attr_list.NAME=Вес %}<span class="size">{cart_items.goods_attr_list.VALUE}</span>{% ENDIF %} {% ENDFOR %} </div>
далее зайдите в main.css - найдите:
.cartTable tbody td.name a {display: block;font-size: 16px;line-height: 1.3;margin-bottom: 10px;} .cartTable tbody td.name div {font-size: 12px;margin-bottom: 3px;}
после него вставьте:
.cartTable tbody td.name .del_char {display: none;}
далее зайдите в main.js - найдите:
// Скрипты для Быстрого заказа function quickOrderScripts(){ $(document).ready(function(){
после него вставьте:
$('.deliveryZoneRadio, .deliveryZoneRadio + label').hide(); $('.cartForm .cartTable tbody tr').each(function(){ var lc = $(this).find('.del_char .lc').text(); var size = $(this).find('.del_char .size').text(); var new_lc = parseFloat(lc.replace(",", ".")); var new_size = parseFloat(size.replace(",", ".")); if (new_lc == 1 && new_size < 4) { $('.deliveryZoneRadio[value*=\'91592\'], .deliveryZoneRadio[value*=\'91592\'] + label').show(); } else if (new_lc == 2 && new_size > 3 && new_size < 10) { $('.deliveryZoneRadio[value*=\'91593\'], .deliveryZoneRadio[value*=\'91593\'] + label').show(); } else if (new_lc == 3 && new_size > 10) { $('.deliveryZoneRadio[value*=\'91594\'], .deliveryZoneRadio[value*=\'91594\'] + label').show(); } });
#9
Отправлено 15 Июнь 2019 - 08:20
Здравствуйте.
Под новые условия немного необходимо изменить инструкцию, в шаблоне Корзина вместо:
прописать:
в main.css вместо:
прописать:
в main.js вместо:
прописать:
Вам необходимо чтобы под формулу было создано 3 варианта доставки с разной ценой по вашей формуле и указать их ID(указывается при редактировании доставки в URL) в коде main.js вместо:
- 91592
- 91593
- 91594
Под новые условия немного необходимо изменить инструкцию, в шаблоне Корзина вместо:
<div class="TotalSum"> <span class="price"> {% FOR cart_sum %} {cart_sum.NOW_WITH_DELIVERY_AND_DISCOUNT | money_format} {% ENDFOR %} </span> </div>
прописать:
<div class="TotalSum"> <span class="price"> {% FOR cart_sum %} {cart_sum.NOW_WITH_DELIVERY_AND_DISCOUNT | money_format} {% ENDFOR %} </span> </div> <div class="count_in_cart"> {% FOR cart_count %}{cart_count.COUNT}{% ENDFOR %} </div>
в main.css вместо:
.cartTable tbody td.name .del_char {display: none;}
прописать:
.cartTable tbody td.name .del_char, .cartTable .count_in_cart {display: none;}
в main.js вместо:
$('.deliveryZoneRadio, .deliveryZoneRadio + label').hide(); $('.cartForm .cartTable tbody tr').each(function(){ var lc = $(this).find('.del_char .lc').text(); var size = $(this).find('.del_char .size').text(); var new_lc = parseFloat(lc.replace(",", ".")); var new_size = parseFloat(size.replace(",", ".")); if (new_lc == 1 && new_size < 4) { $('.deliveryZoneRadio[value*=\'91592\'], .deliveryZoneRadio[value*=\'91592\'] + label').show(); } else if (new_lc == 2 && new_size > 3 && new_size < 10) { $('.deliveryZoneRadio[value*=\'91593\'], .deliveryZoneRadio[value*=\'91593\'] + label').show(); } else if (new_lc == 3 && new_size > 10) { $('.deliveryZoneRadio[value*=\'91594\'], .deliveryZoneRadio[value*=\'91594\'] + label').show(); } });
прописать:
$('.deliveryZoneRadio, .deliveryZoneRadio + label').hide(); var count_goods = $('.count_in_cart').text(); var count = parseFloat(count_goods.replace(",", ".")); if (count > 3) { var sum = 0; $('.cartForm .cartTable tbody tr').each(function() { var lc = $(this).find('.del_char .lc').text(); var new_lc = parseInt(lc); sum += Number($(this).find('.del_char .lc').text()); }); if (sum == 1) { $('.deliveryZoneRadio[value*=\'91592\'], .deliveryZoneRadio[value*=\'91592\'] + label').show(); } else if (sum == 2) { $('.deliveryZoneRadio[value*=\'91593\'], .deliveryZoneRadio[value*=\'91593\'] + label').show(); } else if (sum >= 3) { $('.deliveryZoneRadio[value*=\'91594\'], .deliveryZoneRadio[value*=\'91594\'] + label').show(); } } else { $('.cartForm .cartTable tbody tr').each(function() { var lc = $(this).find('.del_char .lc').text(); var size = $(this).find('.del_char .size').text(); var new_lc = parseFloat(lc.replace(",", ".")); var new_size = parseFloat(size.replace(",", ".")); if (new_lc == 1 && new_size < 4) { $('.deliveryZoneRadio[value*=\'91592\'], .deliveryZoneRadio[value*=\'91592\'] + label').show(); } else if (new_lc == 2 && new_size > 3 && new_size < 10) { $('.deliveryZoneRadio[value*=\'91593\'], .deliveryZoneRadio[value*=\'91593\'] + label').show(); } else if (new_lc == 3 && new_size > 10) { $('.deliveryZoneRadio[value*=\'91594\'], .deliveryZoneRadio[value*=\'91594\'] + label').show(); } }); }
Вам необходимо чтобы под формулу было создано 3 варианта доставки с разной ценой по вашей формуле и указать их ID(указывается при редактировании доставки в URL) в коде main.js вместо:
- 91592
- 91593
- 91594
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных