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


Mr.Nito

Регистрация: 14 сент. 2016
Offline Активность: 30 июня 2020 14:07
*****

Мои сообщения

В теме: Ошибка При Редактировании Количества Товара В Корзине

16 Июнь 2020 - 14:17

Просмотр сообщенияveilofmaya1234 (13 Июнь 2020 - 20:35) писал:

Когда в корзине прибавляешь количество товара плюсиком - вылезает ошибка "Вы пытаетесь добавить товара больше чем есть в наличии"
но в наличии его больше.
Причем если нажимать медленно - то не вылазит.
Именно в корзине так себя ведет
На шаблоне Техно. на других не проверял
Здравствуйте.
В файле main.js замените
// Корзина
function ajaxnewqty(){
$('.cartqty').change(function(){
s = $(this);
id = $(this).closest('tr').data('id');
qty = $(this).val();
if(qty < 1) {
	 s.val(1)
}
data = $('.cartForm').serializeArray();
data.push({name: 'only_body', value: 1});
$('tr[data-id="' + id + '"] .ajaxtotal').css('opacity','0');
$('.TotalSum').css('opacity','0');
$.ajax({
	 data: data,
	 cache:false,
	 success:function(d){	
	 s.val($(d).find('tr[data-id="' + id + '"] .cartqty').val())
	 $('tr[data-id="' + id + '"] .ajaxtotal').css('opacity','1');
	 $('.TotalSum').css('opacity','1');
	 tr = $('tr[data-id="' + id + '"]');
	 tr.find('.ajaxtotal').html($(d).find('tr[data-id="' + id + '"] .ajaxtotal').html());
	 $('.TotalSum').html($(d).find('.TotalSum').html());
	 $('.discounttr').each(function(){
		 $(this).remove();
	 });
	 $(d).find('.discounttr').each(function(){
		 $('.cartTable tfoot tr:first-child').before($(this));
	 });
	 c = $(d).find('tr[data-id="' + id + '"] .cartqty');
	 qw = c.val();
	 if(qty > qw){
		 $('.cartErr').remove();
		 $('.cartTable').before('<div class="cartErr warning">Вы пытаетесь положить в корзину товара больше, чем есть в наличии</div>');
		 $('.cartErr').fadeIn(500).delay(2500).fadeOut(500, function(){$('.cartErr').remove();});
		 $('.cartqty').removeAttr('readonly');
	 }
	 }
})
})
}
на
// Корзина
function ajaxnewqty(){
$('.cartqty').change(
$.debounce(300,
function(){
	 s = $(this);
	 id = $(this).closest('tr').data('id');
	 qty = $(this).val();
	 if(qty < 1) {
	 s.val(1)
	 }
	 data = $('.cartForm').serializeArray();
	 data.push({name: 'only_body', value: 1});
	 $('tr[data-id="' + id + '"] .ajaxtotal').css('opacity','0');
	 $('.TotalSum').css('opacity','0');
	 $.ajax({
	 data: data,
	 cache:false,
	 success:function(d){	
		 s.val($(d).find('tr[data-id="' + id + '"] .cartqty').val())
		 $('tr[data-id="' + id + '"] .ajaxtotal').css('opacity','1');
		 $('.TotalSum').css('opacity','1');
		 tr = $('tr[data-id="' + id + '"]');
		 tr.find('.ajaxtotal').html($(d).find('tr[data-id="' + id + '"] .ajaxtotal').html());
		 $('.TotalSum').html($(d).find('.TotalSum').html());
		 $('.discounttr').each(function(){
		 $(this).remove();
		 });
		 $(d).find('.discounttr').each(function(){
		 $('.cartTable tfoot tr:first-child').before($(this));
		 });
		 c = $(d).find('tr[data-id="' + id + '"] .cartqty');
		 qw = c.val();
		 if(Number(qty) > Number(qw)){
		 $('.cartErr').remove();
		 $('.cartTable').before('<div class="cartErr warning">Вы пытаетесь положить в корзину товара больше, чем есть в наличии</div>');
		 $('.cartErr').fadeIn(500).delay(2500).fadeOut(500, function(){$('.cartErr').remove();});
		 $('.cartqty').removeAttr('readonly');
		 }
	 }
	 })
})
)
}

В теме: Команды Api Для Раздела Файлы

15 Май 2020 - 22:16

Создание/Обновление файла:

http://site.ru/api/v1/orders/save

POST Data:

secret_key=c96ab01bd0e5097e392d1ef32c904b48

form[file_name]=test4.js
form[file_content]=dmFyIGkgPSAwOyBhbGVydChpKTs=
form[do_not_receive_file]=1 - при сохранении не выдавать получившийся файл. Этот параметр актуален для всех файлов, кроме CSS.

"form[file_content]" - должен быть передан в формате base64 (https://www.base64encode.org/)

Пример ответа от сервера:

array (
  'status' => 'ok',
  'data' => 
  array (
	'file_id' => 
	array (
	  'type' => 'int_unsigned_not_null',
	  'edit' => false,
	  'value' => '90993573',
	),
	'file_name' => 
	array (
	  'type' => 'str',
	  'edit' => true,
	  'value' => 'test2.js',
	),
	'created_at' => 
	array (
	  'type' => 'int_unsigned',
	  'edit' => false,
	  'value' => '1589569573',
	),
	'updated_at' => 
	array (
	  'type' => 'int_unsigned',
	  'edit' => false,
	  'value' => NULL,
	),
	'file_content' => 
	array (
	  'type' => 'blob_base64_encode',
	  'edit' => true,
	  'value' => 'dmFyIGkgPSAwOyBhbGVydChpKTs=',
	),
  ),
)

Ответ при переданном параметре "form[do_not_receive_file]=1"


array (
'status' => 'ok',
'data' => NULL,
)

В теме: Часы Доставки

30 Апрель 2020 - 13:20

Просмотр сообщенияiamroot (30 Апрель 2020 - 07:25) писал:

Благодарю, всё работает, с быстрым заказом. А как быть с корзиной - страницей оформления отдельной :rolleyes:
Дата исчезла, её бы тоже вернуть
И вот вопросец, нельзя ли сделать привязку к времени оформления заказа? Чтобы человек не мог выбрать пунк с 10 до 12 если уже наступил отрезок времени с 10 до 12

Для страницы оформления нужно заменить в "Оформлении заказа"
		 <div class="form__fields deliveryConvenientDate">
			 <label for="deliveryConvenientDate" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %}>Удобное время доставки{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}<em>*</em>{% ENDIF %}</label>
			 <div class="input-box">
			 <span>c</span>
			 <select class="input _bordered" name="form[delivery][convenient_time_from]">
			 <option></option>
				 {% FOR convenient_time_from_list %}
				 {%IF convenient_time_from_list.HOUR_INT>9%}{%IF convenient_time_from_list.HOUR_INT<21%}
				 <option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>
				 {%ENDIF%}{%ENDIF%}
				 {% ENDFOR %}
			 </select>
			 <span>до</span>
			 <select class="input _bordered" name="form[delivery][convenient_time_to]">
				 <option></option>
				 {% FOR convenient_time_to_list %}
				 {%IF convenient_time_to_list.HOUR_INT>10%}{%IF convenient_time_to_list.HOUR_INT<22%}
				 <option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>
				 {%ENDIF%}{%ENDIF%}
				 {% ENDFOR %}
			 </select>
			 </div>
		 </div>
на
		 <div class="form__fields deliveryConvenientDate">
			 <!-- Если поле даты доставки запрашивается -->
				 <div class="quickform__item -deliveryConvenientTime">
								 <label class="quickform__title --sub" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %}>Удобное время <span>доставки</span>{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}<em>*</em>{% ENDIF %}</label>
								 <div class="quickform__input-wrap">
								 <input type="hidden" name="form[delivery][convenient_time_from]" value="0">
								 <input type="hidden" name="form[delivery][convenient_time_to]" value="0">
							
								 <div class="quickform__select-box">
										 <select class="quickform__select-convenient"{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}required{% ENDIF %}>
										 <option value=""></option>
										 <option value="10-12">10:00-12:00</option>
										 <option value="12-15">12:00-15:00</option>
										 <option value="15-18">15:00-18:00</option>
										 <option value="18-21">18:00-21:00</option>
										 </select>
								 </div>
								 </div>
						 </div>
		 </div>

Цитата

И вот вопросец, нельзя ли сделать привязку к времени оформления заказа? Чтобы человек не мог выбрать пунк с 10 до 12 если уже наступил отрезок времени с 10 до 12
Можно, но уже на платной основе. Тут нужно учитывать, что человек может заказать на след. день и тогда время с 10 до 12 должно быть показано.
Напишите на support@storeland.ru с темой письма "Платная доработка"

В теме: Часы Доставки

30 Апрель 2020 - 00:23

Здравствуйте.
Возможно сделать интервалами. Но они могут быть только целыми числами. С 10 до 12ч
Для этого в Быстром заказе меняем

			 <div class="quickform__item -deliveryConvenientTime">
				 <label class="quickform__title --sub" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %}>Удобное время доставки{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}<em>*</em>{% ENDIF %}</label>
				 <div class="quickform__input-wrap">
				 <div class="quickform__select-box -from">
					 <select class="input quickform__select-convenient _from" name="form[delivery][convenient_time_from]" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}required{% ENDIF %}>
					 <option value=""></option>
					 {% FOR convenient_time_from_list %}
					 {%IF convenient_time_from_list.HOUR_INT>9%}{%IF convenient_time_from_list.HOUR_INT<21%}
						 <option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>
					 {%ENDIF%}{%ENDIF%}
					 {% ENDFOR %}
					 </select>
					 <div class="quickform__label">с</div>
				 </div>
				 <div class="quickform__select-box -to">
					 <select class="input quickform__select-convenient _to" name="form[delivery][convenient_time_to]" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}required{% ENDIF %}>
					 <option value=""></option>
					 {% FOR convenient_time_to_list %}
					 {%IF convenient_time_to_list.HOUR_INT>10%}{%IF convenient_time_to_list.HOUR_INT<22%}
						 <option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>
					 {%ENDIF%}{%ENDIF%}
					 {% ENDFOR %}
					 </select>
					 <div class="quickform__label">до</div>
				 </div>
				 </div>
			 </div>
на
			 <div class="quickform__item -deliveryConvenientTime">
				 <label class="quickform__title --sub" {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %}>Удобное время <span>доставки</span>{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}<em>*</em>{% ENDIF %}</label>
				 <div class="quickform__input-wrap">
				 <input type="hidden" name="form[delivery][convenient_time_from]" value="0">
				 <input type="hidden" name="form[delivery][convenient_time_to]" value="0">
				
				 <div class="quickform__select-box">
					 <select class="input quickform__select-convenient"{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}required{% ENDIF %}>
					 <option value=""></option>
					 <option value="0-2">00:00-02:00</option>
						 <option value="2-4">02:00-04:00</option>
					 <option value="4-6">04:00-06:00</option>
					 <option value="6-8">06:00-08:00</option>
					 <option value="8-10">8:00-10:00</option>
					 <option value="10-12">10:00-12:00</option>
					 <option value="12-14">12:00-14:00</option>
					 <option value="14-16">14:00-16:00</option>
					 <option value="16-18">16:00-18:00</option>
					 <option value="18-20">18:00-20:00</option>
					 <option value="20-22">20:00-22:00</option>
					 <option value="22-24">22:00-24:00</option>
					 </select>
				 </div>
				 </div>
			 </div>
И проставляем нужное нам время в полях списка.

<option value="0-2">00:00-02:00</option>
меняем например на
<option value="4-6">04:00-06:00</option>
Ненужные строки - удаляем.
В файле main.js
код
// Cкрипты для быстрого заказа
function orderScripts(){
заменяем на
// Cкрипты для быстрого заказа
function orderScripts(){
// Выбор времени
$('#quickform select.quickform__select-convenient').on('change', function(){
var convenientArr = $(this).val().split('-')

if(convenientArr.length){
	 $('input[name="form[delivery][convenient_time_from]"]').val(convenientArr[0])
	 $('input[name="form[delivery][convenient_time_to]"]').val(convenientArr[1])
}
})
в main.css
после
.quickform .quickform__row.-adress .-deliveryConvenientTime .quickform__select-convenient .jq-selectbox__select {border-radius: 0;}
добавляем
.quickform .quickform__row.-adress .-deliveryConvenientTime .quickform__select-convenient .jq-selectbox__select {
border-top-right-radius: 25px;
border-bottom-right-radius: 25px;
}
@media (max-width: 768px){
.quickform .quickform__row.-adress .-deliveryConvenientTime .quickform__select-convenient .jq-selectbox__select {border-radius: 25px;}
}

В теме: Скрыть Адрес Доставки

08 Апрель 2020 - 11:34

Здравствуйте.
Здесь не подойдут инструкции от других шаблонов.
В main.js

перед
$('.delivery-select').change(function() {
добавить
function hideAddress(){
	 var $blocks = $('.quickform__row.-adress > .quickform__title, .quickform__list.-adress-inputs-list');
	
	 // Id доставки из раздела Настройки - Доставка
	 if(CURRENT_DELIVERY.id === '482864'){
	 $blocks.show();
	 } else {
	 $blocks.hide();
	 }
}
hideAddress();

далее после

$('.delivery-select').change(function() {
	 var deliveryId = $(this).val();
	
	 CURRENT_DELIVERY = getCurrentDelivery(deliveryId);
добавить
$('.delivery-select').change(function() {
	 var deliveryId = $(this).val();
	
	 CURRENT_DELIVERY = getCurrentDelivery(deliveryId);
hideAddress();

Код Вам добавил