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


metry

Регистрация: 27 февр. 2017
Offline Активность: 28 нояб. 2021 17:56
*****

Мои темы

Добавление элемента сargo-types в yml cо значением CIS_REQUIRED

23 Ноябрь 2021 - 10:22

Добрый день. Согласно последним требования Яндекса, некоторые категории товаров теперь подлежат обязательной маркировке «Честный знак» и выводится рекомендация:
В поле Вид товара (Excel) или элементе cargo-types (YML, CSV) укажите значение CIS_REQUIRED;

Для решения данной проблемы зайдите в Редактор шаблонов-->Другие шаблоны-->Экспорт товаров в Яндекс.маркет и найдите:

<store>{% IF SHOP_OFFER_DELIVERY_STORE %}true{% ELSE %}false{% ENDIF %}</store>

после него вставьте:

{% FOR attr %}{% IF goods.attr.NAME = Честный знак %} <cargo-types>CIS_REQUIRED</cargo-types> {% ENDIF %}{% ENDFOR %}

Далее зайдите в категории товаров для которых требует Яндекс указать атрибут cargo-types и в характеристики товара находящихся в этих категориях добавьте характеристику с названием: Честный знак и значением: Да
Прикрепленный файл  ris1.png   59,92К   7 Количество загрузок:


Для добавления данной характеристики не обязательно заходить в каждый товар. Можно выделить все товары находящиеся в нужной Вам категории и массово к ним добавить характеристику с названием: Честный знак и значением: Да

Прикрепленный файл  ris2.png   627,14К   9 Количество загрузок:

Прикрепленный файл  ris3.png   631,98К   7 Количество загрузок:

Добавление элементов barcode , period-of-validity-days , weight , dimensions в Yml-файл

27 Октябрь 2021 - 18:07

Для внесения изменений зайдите в зайдите в Редактор шаблонов-->Другие шаблоны -->Экспорт товаров в Яндекс.маркет и найдите:

	 <!-- Характеристики товара http://partner.market.yandex.ru/legal/tt/#id1166430008770 -->
	 {% FOR attr %}<param name="{goods.attr.NAME | xml_data}"><![CDATA[{goods.attr.VALUE}]]></param>{% ENDFOR %}


после него вставьте:

	 {% FOR attr %}
		 {% IF goods.attr.NAME= Штрихкод %}<barcode>{goods.attr.VALUE}</barcode>{% ENDIF %}
		 {% IF goods.attr.NAME= Срок годности %}<period-of-validity-days>{goods.attr.VALUE}</period-of-validity-days>{% ENDIF %}
		 {% IF goods.attr.NAME= Вес %}<weight>{goods.attr.VALUE}</weight>{% ENDIF %}
		 {% IF goods.attr.NAME= Габариты %}<dimensions>{goods.attr.VALUE}</dimensions>{% ENDIF %}
	 {% ENDFOR %}


Далее к товарам необходимо  добавить Характеристики с названием:   Штрихкод , Срок годности , Вес , Габариты , чтобы данные характеристики выгружались в Яндекс.маркет.
С более подробным описанием по каждому добавляемому атрибуту можно ознакомиться в разделе Помощи от Яндекс.маркет.

Далее к товарам необходимо  добавить Характеристики с названием:   Штрихкод , Срок годности , Вес , Габариты , чтобы данные характеристики выгружались в Яндекс.маркет.
С более подробным описанием по каждому добавляемому атрибуту можно ознакомиться в разделе Помощи от Яндекс.маркет.

В значение Штрихкода необходимо добавить Штрихкод товара от производителя в одном из форматов: EAN-13, EAN-8, UPC-A, UPC-E или Code 128. Если штрихкодов несколько, укажите их через запятую.
Для товаров определенных производителей передавайте только код GTIN.
Если товар продается упаковками, укажите штрихкод упаковки. Он не должен совпадать со штрихкодом единицы товара.

Прикрепленный файл  штрихкод.png   76,72К   9 Количество загрузок:


В значение Срок годности необходимо добавить значение через какой период товар станет непригоден для использования (в годах, месяцах, днях, неделях или часах). Например, срок годности есть у таких категорий, как продукты питания и медицинские препараты.
Должен быть указан в формате P1Y2M10D. Расшифровка примера — 1 год, 2 месяца и 10 дней.
Другие примеры:
  • P15D — 15 дней;
  • P2Y10D — 2 года, 10 дней.
Примечание. Значения элемента могут быть конвертированы по правилу: 1 месяц = 30 дней, 1 год = 365 дней.

Прикрепленный файл  Срок.png   36,48К   12 Количество загрузок:



В значение Вес необходимо указать вес товара в килограммах с учетом упаковки.
Для некоторых категорий установлены ограничения по минимальному или максимальному значению веса.
Скачать список минимальных и максимальных значений веса.
В любой категории вес можно указывать с точностью до тысячных (например, 1.001 кг; разделитель целой и дробной части — точка).
Если минимальное значение указано 0, ограничений по минимальному весу нет, и можно указывать, начиная с одного грамма (0.001 кг).
Физический вес должен быть не более 100 кг, при этом объемный вес — 150 кг (FBY) или 200 кг (FBS);
Если вы не укажете вес товара или он превысит лимит, товар не будет отображаться на витрине и попадет в отчет «Скрытые товары». Для модели FBS также не получится протестировать работу магазина и пройти самопроверку.

Прикрепленный файл  Вес.png   36,46К   11 Количество загрузок:


В значение Габариты  необходимо указать Габариты товара (длина, ширина, высота) в упаковке. Размеры укажите в сантиметрах.
Формат: три положительных числа с точностью 0.001, разделитель целой и дробной части — точка. Числа должны быть разделены символом «/» без пробелов.
Габариты должны быть не более:
  • модель FBY: 120 × 80 × 220 см;
  • модель FBS: 300 × 242 × 245 см.
Если вы не укажете габариты товара или они превысят лимиты, товар не будет отображаться на витрине и попадет в отчет «Скрытые товары». Для модели FBS также не получится протестировать работу магазина и пройти самопроверку.

Прикрепленный файл  Габариты.png   36,49К   11 Количество загрузок:

Добавление Сортировки Товаров По Алфавиту

03 Август 2021 - 15:55

Для внесения изменений зайдите в Сайт-->Редактор шаблонов-->Товары, Сайт--> Редактор шаблонов-->Просмотр акции, Сайт-->Редактор шаблонов-->Поиск  и найдите:


			  <!-- Сортировать по: (Поле сортировки товаров по умолчанию) -->
			  <div class="sort-by select-wrp">
				<select name="goods_search_field_id" class="select-style" title="Выберите сортировку, удобную для вас" onchange="this.form.submit();">
				  <option selected="true" disabled="disabled">Сортировать</option>
				  {% FOR goods_order_fields %}
					{% IF goods_order_fields.ID = 1 || goods_order_fields.ID = 2 || goods_order_fields.ID = 5 || goods_order_fields.ID = 11 || goods_order_fields.ID = 13 %}
					<option value="{goods_order_fields.ID}" title="{goods_order_fields.NAME}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>
					  {% IF goods_order_fields.ID = 1%}
						Цена ↓
					  {% ELSEIF goods_order_fields.ID = 2 %}
						Цена ↑
					  {% ELSEIF goods_order_fields.ID = 5 %}
						Наличие
					  {% ELSEIF goods_order_fields.ID = 11 %}
						Рейтинг
					  {% ELSEIF goods_order_fields.ID = 13 %}
						Отзывы
					  {% ENDIF %}
					</option>
					{% ENDIF %}
				  {% ENDFOR %}
				</select>
			  </div>


замените на:


			  <!-- Сортировать по: (Поле сортировки товаров по умолчанию) -->
			  <div class="sort-by select-wrp">
				<select name="goods_search_field_id" class="select-style" title="Выберите сортировку, удобную для вас" onchange="this.form.submit();">
				  <option selected="true" disabled="disabled">Сортировать</option>
				  {% FOR goods_order_fields %}
					{% IF goods_order_fields.ID = 1 || goods_order_fields.ID = 2 || goods_order_fields.ID = 3 || goods_order_fields.ID = 4 || goods_order_fields.ID = 5 || goods_order_fields.ID = 11 || goods_order_fields.ID = 13 %}
					<option value="{goods_order_fields.ID}" title="{goods_order_fields.NAME}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>
					  {% IF goods_order_fields.ID = 1%}
						Цена ↓
					  {% ELSEIF goods_order_fields.ID = 2 %}
						Цена ↑
											
					  {% ELSEIF goods_order_fields.ID = 3 %}
						Алфавиту А — я ↓
					  {% ELSEIF goods_order_fields.ID = 4 %} 
						 Алфавиту я — А ↑
					   
					  {% ELSEIF goods_order_fields.ID = 5 %}
						Наличие
					  {% ELSEIF goods_order_fields.ID = 11 %}
						Рейтинг
					  {% ELSEIF goods_order_fields.ID = 13 %}
						Отзывы
					  {% ENDIF %}
					</option>
					{% ENDIF %}
				  {% ENDFOR %}
				</select>
			  </div>

Отзывы О Магазине

06 Июль 2021 - 12:05

Можно сделать отдельную страницу с отзывами о магазине используя скрытый товар на сайте.
Нужно создать товар в любой категории с названием "Отзывы о магазине" и поставить галочку на "Скрыть товар на сайте".

Прикрепленный файл  image1.png   68,45К   7 Количество загрузок:

Нужно перейти к странице этого товара и скопировать ссылку на товар которая понадобится чуть позже. Сохраните ее где-нибудь.

Далее зайдите в админ. панель -> Сайт -> Редактор шаблонов -> Шаблоны -> Товар, вставьте в самом начале код:

{% IFNOT GOODS_NAME = Отзывы о магазине %}

далее в самый конец кода добавьте код:

{% ELSE %}
<div class="productView__tabs">
<div class="tabs__nav">
{% IF SETTINGS_OPINION_DISABLE=0 %}<div class="tab" data-tab="1">Отзывы</div>{% ENDIF %}
</div>
<div class="tabs__content">
<!-- Отзывы -->
{% IFNOT SETTINGS_OPINION_DISABLE %}
<div class="productView__opinion" data-tab="1">
	 <div class="block__title">
	 <div class="title">Отзывы</div>
	 </div>
	 {% IF opinion_list_empty %}
	 <div class="opinion__empty">
	 <div class="empty__title">
		 <div class="title">Отзывов ещё нет — ваш может стать первым</div>
		 <div class="subtitle">Про этот товар ещё никто не написал.</div>
	 </div>
	 <div class="empty__buttons">
		 <div class="button opinion__add">Оставить отзыв</div>
	 </div>
	 </div>
	 {% ENDIF %}
	 {% IFNOT opinion_list_empty %}
	 <div class="opinion__total">
	 <div class="opinion__count">
		 <div class="rating__count">{GOODS_OPINION_RATING_VALUE | divide("2")}</div>
		 <div class="rating__label">Рейтинг товара</div>
	 </div>
	 <div class="opinion__rating">
		 <div class="ratings">
		 <div class="rating" style="width:{GOODS_OPINION_RATING_VALUE_ROUND}0%"></div>
		 </div>
		 <div class="rating__label">Оценка покупателей рассчитана на основании {GOODS_OPINION_RATING_CNT_ALL} отзыв{GOODS_OPINION_RATING_CNT_ALL| gen_word_end("a","ов","ов")}</div>
	 </div>
	 <div class="opinion__buttons">
		 <div class="button medium opinion__add"><span>Написать отзыв</span></div>
		 <div class="button button3 medium showAll"><span>Читать все отзывы</span></div>
	 </div>
	 </div>
	 <!-- Список отзывов о товарах -->
	 <div class="opinion__items" itemprop="review" itemscope itemtype="https://schema.org/Review">
	 {% FOR opinion_list %}
		 <div class="opinion__item {% IF opinion_list.GENERALLY_IS_GOOD %}good{% ELSE %}bad{% ENDIF %}" data-rating='{opinion_list.RATING | divide("2")}'>
		 <div class="opinion__name" itemprop="author">{opinion_list.NAME}</div>
		 {% IF opinion_list.TITLE %}<div class="opinion__title" itemprop="name" style="display: none">{opinion_list.TITLE}</div>{% ENDIF %}
		 {% IF opinion_list.RATING %}
		 <div class="opinion__ratings ratings" itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
			 <meta itemprop="worstRating" content="1">
			 <meta itemprop="bestRating" content="10">
			 <meta itemprop="ratingValue" content="{opinion_list.RATING}">
			 <meta itemprop="reviewCount" content="{GOODS_OPINION_RATING_CNT_ALL}">
			 <div class="rating" style="width:{opinion_list.RATING}0%" alt="{opinion_list.RATING}" title="Рейтинг товара"></div>
		 </div>
		 {% ENDIF %}
		 {% IF opinion_list.DATE %}
		 <meta itemprop="datePublished" content="{opinion_list.DATE | date("d.m.Y")}">
		 <div class="opinion__date">{opinion_list.DATE | date("d.m.Y")}</div>
		 {% ENDIF %}
		 {% IF opinion_list.ACCOMPLISHMENTS %}<div class="opinion__text" itemprop="description" style="display: none;">{opinion_list.ACCOMPLISHMENTS | nl2br}</div>{% ENDIF %}
		 {% IF opinion_list.LIMITATIONS %}<div class="opinion__text" itemprop="description" style="display: none;">{opinion_list.LIMITATIONS | nl2br}</div>{% ENDIF %}
		 {% IF opinion_list.COMMENT %}<div class="opinion__text" itemprop="reviewBody">{opinion_list.COMMENT | nl2br}</div>{% ENDIF %}
		 {% IF opinion_list.ANSWER %}<div class="opinion__answer">{opinion_list.ANSWER | nl2br}</div>{% ENDIF %}
		 {% IF opinion_list.DELETE_URL %}
		 <a href="{opinion_list.DELETE_URL}?return_to={CURRENT_URL | urlencode}%3Fgenerally_is_good%3D{GOODS_OPINION_GENERALLY_IS_GOOD | urlencode}%26page={OPINION_PAGES_LIST_CURRENT}" class="opinion__delete button small" onclick="alert('Вы действительно хотите удалить отзыв?')">Удалить</a>
		 {% ENDIF %}
		 </div>
	 {% ENDFOR %}
	 </div>
	 {% ENDIF %}
	 <div class="opinion__addForm {% IF opinion_list_empty %}hide{% ENDIF %}">
	 <div class="block__title">
		 <div class="title">Напишите свой отзыв о товаре:</div>
	 </div>
	 <!-- Форма добавления нового отзыва о товаре -->
	 <form method="post" action="{CURRENT_URL}" class="opinion__form" enctype="multipart/form-data">
		 <input type="hidden" name="hash" value="{HASH}" />
		 <input type="hidden" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_FROM}]" value="{GOODS_FROM}" />
		 <input type="hidden" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_ID}]" value="{GOODS_ID}" />
		 <!-- Набор полей которые не видит пользователь, но видят боты. Когда они их заполняют мы точно знаем, что их прислал нам бот и мы не сохраняем подобный отзыв о товаре, а боту отправившему отзыв сообщаем, что отзыв добавлен успешно, но будет отображён здесь после прохождения модерации -->
		 {ANTISPAM_CODE}
		 <!-- Форма добавления отзыва о товаре -->
		 <div class="opinion__block">
		 <label>Ваша оценка:</label>
		 <div class="goodsOpinionRating">
			 <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="2" {% IF FORM_GOODS_OPINION_RATING=2 %}checked="checked"{% ENDIF %} title="Ужасно" />
			 <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="4" {% IF FORM_GOODS_OPINION_RATING=4 %}checked="checked"{% ENDIF %} title="Плохо" />
			 <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="6" {% IF FORM_GOODS_OPINION_RATING=6 %}checked="checked"{% ENDIF %} title="Средне" />
			 <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="8" {% IF FORM_GOODS_OPINION_RATING=8 %}checked="checked"{% ENDIF %} title="Хорошо" />
			 <input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="10" {% IF FORM_GOODS_OPINION_RATING=10 %}checked="checked"{% ENDIF %} title="Превосходно" />
		 </div>
		 </div>
		 {% IFNOT CLIENT_IS_LOGIN %}
		 <div class="opinion__block">
		 <label for="goods_opinion_name">Ваше имя:</label>
		 <input id="goods_opinion_name" type="text" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_NAME}]" value="{% IF CLIENT_IS_LOGIN %}{CLIENT_NAME}{% ELSE %}{FORM_GOODS_OPINION_NAME}{% ENDIF %}" maxlength="50" class="form__input" placeholder="Представьтесь, пожалуйста:" required />
		 </div>
		 {% ENDIF %}
		 <div class="opinion__block" style="display: none;">
		 <label for="goods_opinion_title">Заголовок:</label>
		 <input type="text" id="goods_opinion_title" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_TITLE}]" value="{FORM_GOODS_OPINION_TITLE}" maxlength="255" class="form__input" />
		 </div>
		 <div class="opinion__block" style="display: none;">
		 <label for="goods_opinion_accomplishments">Достоинства:</label>
		 <textarea id="goods_opinion_accomplishments" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_ACCOMPLISHMENTS}]" cols="100" rows="3" class="textarea">{FORM_GOODS_OPINION_ACCOMPLISHMENTS}</textarea>
		 </div>
		 <div class="opinion__block" style="display: none;">
		 <label for="goods_opinion_limitations">Недостатки:</label>
		 <textarea id="goods_opinion_limitations" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_LIMITATIONS}]" cols="100" rows="3" class="textarea">{FORM_GOODS_OPINION_LIMITATIONS}</textarea>
		 </div>
		 <div class="opinion__block">
		 <label for="goods_opinion_comment">Комментарий:</label>
		 <textarea id="goods_opinion_comment" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_COMMENT}]" cols="100" rows="7" class="textarea" placeholder="Сообщение" required>{FORM_GOODS_OPINION_COMMENT}</textarea>
		 </div>
		 <div class="opinion__block">
		 <label for="opinion_generally_is_good1">Порекомендовали бы товар друзьям?</label>
		 <div class="generally">
			 <label for="opinion_generally_is_good1"><i class="material-icons">mood</i><span>Да</span></label>
			 <input id="opinion_generally_is_good1" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_GENERALLY_IS_GOOD}]" type="radio" value="1" {% IF FORM_GOODS_OPINION_GENERALLY_IS_GOOD=1 %}checked="checked"{% ENDIF %} />
			 <label for="opinion_generally_is_good0"><i class="material-icons">mood_bad</i><span>Нет</span></label>
			 <input id="opinion_generally_is_good0" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_GENERALLY_IS_GOOD}]" type="radio" value="0" {% IF FORM_GOODS_OPINION_GENERALLY_IS_GOOD=0 %}checked="checked"{% ENDIF %} />
		 </div>
		 </div>
		 {% IF USE_CAPTCHA %}
		 <div class="opinion__block">
		 <label for="opinion_captcha_string" title="Введите код с картинки">Введите код:</label>
		 <div class="opinion__captcha">
			 <input type="text" id="opinion_captcha_string" name="form[{ANTISPAM_FORM_FIELD_NAME_CAPTCHA_STRING}]" autocomplete="off" class="captcha form__input" value="{FORM_}" />
			 <img src="{CAPTCHA_URL}" class="captcha__image" alt="Код" title="Проверочный код, который нужно ввести в соседнее поле" />
			 <i class="material-icons captcha__refresh">loop</i>
		 </div>
		 </div>
		 {% ENDIF %}
		 <!-- Кнопка отправки формы -->
		 <div class="opinion__block">
		 <button type="button" title="Добавить отзыв о &laquo;{GOODS_NAME}&raquo;" class="button">Оставить отзыв</button>
		 </div>
	 </form>
	 <!-- Если по товару есть хотя бы один отзыв -->
	 </div>
</div>
{% ENDIF %}
</div>
</div>
{%ENDIF%}




Теперь нам осталось добавить на сайте адрес на страницу с отзывами. Это можно сделать в разделе Сайт-> Меню. Добавить новый пункт меню.
Выбирать "произвольный адрес" в выпадающем списке. Тут то и пригодится адрес к странице с недавно созданным товаром.

Прикрепленный файл  image2.png   18,64К   11 Количество загрузок:

Добавление Кнопки Купить В Кредит От Отп Банк

20 Июнь 2021 - 13:33

Для внесения изменений зайдите в Редактор шаблонов-->Товар и найдите:

		<div class="add-to-cart" {% IF SETTINGS_GOODS_DONT_PUT_TO_CART_MORE_THAN_AVAILABLE && GOODS_MOD_REST_VALUE=0 %}style="display:none;"{% ENDIF %}>
		  <input type="hidden" name="form[goods_mod_id]" value="{GOODS_MOD_ID}" class="goodsDataMainModificationId" />
		  <button type="submit" class="add-cart button button2" title="Положить &laquo;{GOODS_NAME}&raquo; в корзину">В корзину</button>
		  <button type="submit" class="add-cart quick button" title="Положить &laquo;{GOODS_NAME}&raquo; в корзину">Быстрый заказ</button>
		  <a href="{GOODS_URL}" class="button more" title="Подробнее" rel="nofollow"><span>Подробнее</span><i class="fa fa-angle-right"></i></a>
		</div>
	  </div>
	</form>
   

после него вставьте:

	<script>
function showOtp(){
		 let GOODS_PRICE = $('.goodsDataMainModificationPriceNow').first().find('.price .num').text().replace(/\s/g, '');
		 let GOODS_QUANTITY = $('[name="form[goods_mod_quantity]"]').val();
	   
		 otpform.start({
		 view: 'modal',
		 accessID: 'test_online',
		 tradeID: 'test_online',
		 creditFirstPaymentFrom: '',
		 creditFirstPaymentTo: '',
		 creditTermFrom: '3',
		 creditTermTo: '36',
		 creditType: '0',
		 hostname: 'https://{HTTP_HOST}',
		 items: [{
				 name: '{GOODS_NAME}',
				 price: GOODS_PRICE * GOODS_QUANTITY,
				 quantity: GOODS_QUANTITY
		 }],
		 });
}
</script>
<script crossorigin="anonymous" src="https://shop.otpbank.ru/form/js/form.min.js"></script>
<style>button.otpButton { padding: 10px 25px 10px 25px;text-transform: uppercase; font-weight: 500; margin-bottom: 15px}</style>
<button class="otpButton" type="button"
onclick="showOtp()">Купить в кредит</button>

- - в вставленном коде вместо test_online задайте свои значения tradeID и accessID