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


mixperm

Регистрация: 16 авг. 2013
Offline Активность: 28 февр. 2020 06:10
-----

#264320 Не Работают Фильтры При Передаче Из Яндекс.директа (Кодировка Utf-8)

Отправлено User1 на 06 Июль 2017 - 17:14

Добрый день!
Делаю шаблонные объявления в Яндекс.Директ. Там есть специальный "Параметр 1", для указания каждой ключевой фразе свой URL.
"Специальные символы в значениях параметров {param1} и {param2} автоматически кодируются в UTF-8."
И получается, что если я пишу при создании объявления:

form[filter][attr][1447409][5092191]=1

Яндекс перекодирует это как:

form%5Bfilter%5D%5Battr%5D%5B1447409%5D%5B5092191%5D%3D1

все правильно за исключением знака "=", ОН ТОЖЕ КОДИРУЕТСЯ! (в "%3D")

А у вас строка url для фильтра должна быть:

form%5Bfilter%5D%5Battr%5D%5B1447409%5D%5B5092191%5D=1

А ваш движок "%3D" не воспринимает и фильтрации не происходит!

Тогда уж если вы принимаете "[" и "]", то надо и знак "=" в UTF-8 корректно обрабатывать...

Неужели я первый заметил эту ошибку?..


#260297 Закон 54-Фз, Интеграция С Онлайн Кассой

Отправлено soto на 18 Апрель 2017 - 20:53

Яндекс не сидел без дела)))

Storeland, вступайте с ними в переговоры, пусть для вашей платформы интеграцию налаживают. А то так и придется на INSales переходить))

https://kassa.yandex.ru/blog/receipt


#187546 Выбор Модификации Радио Кнопкой

Отправлено Ирина345 на 16 Февраль 2015 - 12:07

Просмотр сообщенияmixperm (16 Февраль 2015 - 11:51) писал:

Доброго времени суток. Хочу поменять выбор модификации товара на радио переключатели. Пробовал по инструкциям, но каждый раз появлялись проблемы. Как заменить список на радио я делал, но при заказе в корзину падала первая модификация, а не выбранная. Не могли бы помочь непосредственно для шаблона Весна инструкцию. У меня много что уже было поменяно, уже и не вспомню чего.
Здравствуйте, инструкция для вашего шаблона
http://forum.storela...160#entry157847


#85164 Помогите Сделать Так Как На Картинке

Отправлено Сake на 20 Август 2013 - 03:40

Вы можете попробовать сделать следующее - в шаблоне "Товар" найдите

<td class="goodsDataMainModificationsBlock" {% IF GOODS_NO_CHOISE_IN_PROPERTIES_FOR_MODIFICATIONS %}style="display:none;"{% ENDIF %} colspan="2">
					  <div>
						<table>
							<tr>
							{% FOR goods_modifications_properties %}
							  <td class="goodsDataMainModificationsBlockProperty">
								<!-- Выдаем списки со свойствами для модификаций, чтобы определить какую модификацию товара хочет пользователь -->
								{% FOR values %}
									<!-- Если это первый элемент в списке -->
									{% IF goods_modifications_properties.values.first %}
									  <strong>{goods_modifications_properties.NAME}:</strong><br />
									  <select name="form[properties][]">
									{% ENDIF %}
									  <option value="{goods_modifications_properties.values.ID}" {% IF goods_modifications_properties.values.SELECTED %}selected="selected"{% ENDIF %}>{goods_modifications_properties.values.NAME}</option>
									<!-- Если это последний элемент в списке -->
									{% IF goods_modifications_properties.values.last %}
									  </select>
									{% ENDIF %}
								{% ENDFOR %}
							  </td>
							  {goods_modifications_properties.index | is_divided("2","</tr><tr>","")}
							{% ENDFOR %}
						  </tr>
						</table>
						<!-- Данные по модификациям для текущей товарной позиции -->
						{% FOR goods_modifications %}
						  <div class="goodsDataMainModificationsList" rel="{goods_modifications.PROPERTIES_SLUG}">
							<input type="hidden" name="id" value="{goods_modifications.ID}" />
							<input type="hidden" name="art_number" value="{goods_modifications.ART_NUMBER}" />
							<input type="hidden" name="price_now" value="{goods_modifications.PRICE_NOW}" />
							<div class="price_now_formated" style="display:none">{goods_modifications.PRICE_NOW | money_format}</div>
							<input type="hidden" name="price_old" value="{% IF goods_modifications.PRICE_NOW_WITHOUT_DISCOUNT>goods_modifications.PRICE_NOW %}{goods_modifications.PRICE_NOW_WITHOUT_DISCOUNT}{% ELSE %}{goods_modifications.PRICE_OLD}{% ENDIF %}" />
							<div class="price_old_formated" style="display:none">{% IF goods_modifications.PRICE_NOW_WITHOUT_DISCOUNT>goods_modifications.PRICE_NOW %}{goods_modifications.PRICE_NOW_WITHOUT_DISCOUNT | money_format}{% ELSE %}{goods_modifications.PRICE_OLD | money_format}{% ENDIF %}</div>
							<input type="hidden" name="rest_value" value="{goods_modifications.REST_VALUE}" />
							<input type="hidden" name="measure_id" value="{goods_modifications.MEASURE_ID}" />
							<input type="hidden" name="measure_name" value="{goods_modifications.MEASURE_NAME}" />
							<input type="hidden" name="measure_desc" value="{goods_modifications.MEASURE_DESC}" />
							<input type="hidden" name="measure_precision" value="{goods_modifications.MEASURE_PRECISION}" />
							<input type="hidden" name="is_has_in_compare_list" value="{goods_modifications.IS_HAS_IN_COMPARE_LIST}" />
							<div class="description" style="display:none">{goods_modifications.DESCRIPTION}</div>
						  </div>
						{% ENDFOR %}
					  </div>
					</td>

и замените на

<td class="goodsDataMainModificationsBlock" {% IF GOODS_NO_CHOISE_IN_PROPERTIES_FOR_MODIFICATIONS %}style="display:none;"{% ENDIF %}>
					  <div>
						<table>
							<tr>
							{% FOR goods_modifications_properties %}
							  <td class="goodsDataMainModificationsBlockProperty">
								<!-- Выдаем списки со свойствами для модификаций, чтобы определить какую модификацию товара хочет пользователь -->
								{% FOR values %}
									<!-- Если это первый элемент в списке -->
									{% IF goods_modifications_properties.values.first %}
									  <strong>{goods_modifications_properties.NAME}:</strong><br />
									  <select name="form[properties][]">
									{% ENDIF %}
									  <option value="{goods_modifications_properties.values.ID}" {% IF goods_modifications_properties.values.SELECTED %}selected="selected"{% ENDIF %}>{goods_modifications_properties.values.NAME}</option>
									<!-- Если это последний элемент в списке -->
									{% IF goods_modifications_properties.values.last %}
									  </select>
									{% ENDIF %}
								{% ENDFOR %}
							  </td>
							  {goods_modifications_properties.index | is_divided("2","</tr><tr>","")}
							{% ENDFOR %}
						  </tr>
						</table>
						<!-- Данные по модификациям для текущей товарной позиции -->
						{% FOR goods_modifications %}
						  <div class="goodsDataMainModificationsList" rel="{goods_modifications.PROPERTIES_SLUG}">
							<input type="hidden" name="id" value="{goods_modifications.ID}" />
							<input type="hidden" name="art_number" value="{goods_modifications.ART_NUMBER}" />
							<input type="hidden" name="price_now" value="{goods_modifications.PRICE_NOW}" />
							<div class="price_now_formated" style="display:none">{goods_modifications.PRICE_NOW | money_format}</div>
							<input type="hidden" name="price_old" value="{% IF goods_modifications.PRICE_NOW_WITHOUT_DISCOUNT>goods_modifications.PRICE_NOW %}{goods_modifications.PRICE_NOW_WITHOUT_DISCOUNT}{% ELSE %}{goods_modifications.PRICE_OLD}{% ENDIF %}" />
							<div class="price_old_formated" style="display:none">{% IF goods_modifications.PRICE_NOW_WITHOUT_DISCOUNT>goods_modifications.PRICE_NOW %}{goods_modifications.PRICE_NOW_WITHOUT_DISCOUNT | money_format}{% ELSE %}{goods_modifications.PRICE_OLD | money_format}{% ENDIF %}</div>
							<input type="hidden" name="rest_value" value="{goods_modifications.REST_VALUE}" />
							<input type="hidden" name="measure_id" value="{goods_modifications.MEASURE_ID}" />
							<input type="hidden" name="measure_name" value="{goods_modifications.MEASURE_NAME}" />
							<input type="hidden" name="measure_desc" value="{goods_modifications.MEASURE_DESC}" />
							<input type="hidden" name="measure_precision" value="{goods_modifications.MEASURE_PRECISION}" />
							<input type="hidden" name="is_has_in_compare_list" value="{goods_modifications.IS_HAS_IN_COMPARE_LIST}" />
							<div class="description" style="display:none">{goods_modifications.DESCRIPTION}</div>
						  </div>
						{% ENDFOR %}
					  </div>
					</td>
					<td id="total_rest" class="goodsDataMainModificationsBlock">В наличии: <span></span></td>

далее в main.js добавьте

$(function() {
  var total_rest = [];
  $('.goodsDataMainModificationsBlockProperty select option').each(function() {
	 var id = $(this).val();
	 var count = $('.goodsDataMainModificationsList[rel="' + id + '"] [name="rest_value"]').val();
	 if(parseInt(count)) {
		total_rest.push($(this).text());
	 }
  });
  if(!total_rest.length) {
	$('.goodsDataMainModificationsBlock').attr('colspan', 2);
	$('#total_rest').remove();
  }
  else {
	$('#total_rest > span').html(total_rest.join(', '));
  }
});