Инструкции по работе с платформой
При добавлении товаров на ваш сайт, вы предварительно указываете рубрику в нашем каталоге (более 50000 рубрик). Если вы не хотите, что бы ваш товар отображался в нашем каталоге, то указываете рубрику "прочее". Однако если вы хотите участвовать в нашем каталоге, то обязательно правильно указывайте рубрику товара.
Информация о том, что у ваших продуктов обнаружена неверная информация, может быть ошибочной, так как данный запрос могут отправлять все посетители нашего международного каталога. Если информация о вашем продукте верна, то просто проигнорируйте запрос.
Как импортировать товары?
Управление слайдером
hotlist.biz/admin/
Если вы скроете меню авторизации на сайте, то для входа администратора достаточно ввести в адресной строке путь указанный выше.
Пример создания ссылки для аутентификации пользователей
Страницы
Страница - блок располагающийся в центре сайта, в области для контента, который может содержать любые HTML данные (HTML, XHTML, JAVASCRIPT, CSS или другие).
Ajax загрузка контента страницы.
Ajax загрузка контента страницы.
Ссылка имеющая class "ajax_load_page" будет открывать Ajax контент внутри блока, заданного в атрибуте "data-content-block".
Путь к загружаемой странице задан в параметре href.
Путь к странице может быть относительным, или полным, с http.
Вы так же можете использовать собственные скрипты, передавая GET или POST параметр "p", с именем
(или полным адресом) страницы, по адресу "/ajax.php"
Кроме того, возможно использование прямых запросов без использования Ajax.
Например, для загрузки данных в iframe. Путь такой же как и при использовании Ajax.
Скрипт загрузки данных во всплывающем окне:
Скрипт всплывающего окна с загрузкой Ajax контента
Новости
Новости - такой же блок как и страницы, которые дополнительно имеют краткие описания, которые отображаются в виде списка, со ссылкой для просмотра полного текста новости.
Ajax загрузка контента новости
Ajax загрузка контента новости.
Ссылка имеющая class "ajax_load_news" будет открывать Ajax контент внутри блока, заданного в атрибуте "data-content-block".
Путь к загружаемой странице задан в параметре href.
Путь к странице может быть относительным, или полным, с http.
Вы так же можете использовать собственные скрипты, передавая GET или POST параметр "news_cat_p", с полным адресом
статьи, по адресу "/ajax.php"
Кроме того, возможно использование прямых запросов без использования Ajax.
Например, для загрузки данных в iframe. Путь такой же как и при использовании Ajax.
Скрипт загрузки данных во всплывающем окне:
Скрипт всплывающего окна с загрузкой Ajax контента
Каталог статей
Каталог статей - такой же блок как и новости, но имеются возможность разделять списки статей по Категориями.
Списки статей можно отображать не только внутри категорий, но и геренировать собственные списки.
Ajax загрузка контента статьи
Ajax загрузка контента статьи.
Ссылка имеющая class "ajax_load_blog" будет открывать Ajax контент внутри блока, заданного в атрибуте "data-content-block".
Путь к загружаемой странице задан в параметре href.
Путь к странице может быть относительным, или полным, с http.
Вы так же можете использовать собственные скрипты, передавая GET или POST параметр "blog_cat_p", с полным адресом
статьи, по адресу "/ajax.php"
Кроме того, возможно использование прямых запросов без использования Ajax.
Например, для загрузки данных в iframe. Путь такой же как и при использовании Ajax.
Скрипт загрузки данных во всплывающем окне:
Скрипт всплывающего окна с загрузкой Ajax контента
Пример Ajax скрипта загрузки собственного списка статей
Пример Ajax загрузки статьи в JSON формате
Блок/Меню
Блок/Меню – это блок, в который вы сможете вставлять любые HTML коды. Также вы сможете использовать меню с заранее заданными функциями, например, корзина заказов, поисковый фильтр, хиты продаж, последние статьи и другие.
Блок/Меню можно использовать для создания собственного стиля/дизайна сайта. Например, вы можете создать Шапку сайта, разместить в ней необходимые элементы (Логотип, Контакты, Ссылки навигации по сайту, Поисковую форму и прочее) и написать для них CSS стили в редакторе дизайна. С помощью блоков/меню вы можете размещать скрипты, в том числе и в мета тегах, а также включить/выключать отображение этих данных на определенных страницах или устройствах. В большинстве случаев, вам достаточно использовать Header/Шапку и Footer/Низ сайта, а также, например, левый или правый Блок/Меню для размещения поискового фильтра. Скрипты сайта вы можете разместить в одном Блоке/Меню, и расположить его, например, в Служебных тегах.
Блок меню можно расположить в 7 основных частях сайта:
- «Шапка сайта (Header)» – блок шапки сайта, Отображается над основным блоком с контентом, внутри элемента «#hotengine-header».
- «Низ сайта (Footer)» - блок низа сайта, Отображается под основным блоком с контентом, внутри элемента «#hotengine-footer».
- «Справа» - блок отображается справа, возле основного блока с котентом, и не выходит за пределы контента.
- «Слева» - блок отображается слева, возле основного блока с котентом, и не выходит за пределы контента.
- «Вверху» - блок отображается вверху контента, и не выходит за его область.
- «Внизу» - блок отображается внизу контента, и не выходит за его область.
- «Служебные теги перед тегом Body (Header Meta)» - блок располагается под служебными Meta тегами, и может использоваться для вставки JavaScript, Meta-tags и других служебных данных.
Ко всем меню будет добавлен class позиции, а также уникальный menu_id. Основная разметка блоков сайта ↓
Для создания расширенной версии мобильного меню (в стиле приложения), используйте «Конструктор мобильного меню». Конструктор позволяет создать многоуровневое меню, всплывающий «Поисковый фильтр», а также собственные иконки.
Магазин
Магазин может содержать организованный список товаров с кнопками для его заказа. В магазине предусмотрено множество дополнительных данных, разделение по производителям, категориям, типам товаров, характеристикам и прочим свойствам.
Обратите внимание на то, что ваши товары дополнительно будут расположены в нашем Международном каталоге, а также покупатели смогут оставлять отзывы о качестве вашей работы.
Списки категорий можно отображать на страницах или блоках/меню. Для этого создайте страницу или Блок/Меню, и в тексте, добавьте код Виджета с категориями магазина
Ajax загрузка товара
Ajax загрузка товара.
Ссылка имеющая class "ajax_load_shop" будет открывать Ajax контент внутри блока, заданного в атрибуте "data-content-block".
Путь к загружаемой странице задан в параметре href.
Путь к странице может быть относительным, или полным, с http.
Вы так же можете использовать собственные скрипты, передавая GET или POST параметр "shop_cat_p", с полным адресом
товара, по адресу "/ajax.php"
Кроме того, возможно использование прямых запросов без использования Ajax.
Например, для загрузки данных в iframe. Путь такой же как и при использовании Ajax.
Скрипты добавления товара в корзину нужно подгружать дополнительно, если вы используете iframe.
Скрипт загрузки данных во всплывающем окне:
Скрипт всплывающего окна с загрузкой Ajax контента
Ajax загрузка отзывов к товарам
Ajax загрузка отзывов к товарам.
Ссылка имеющая class "ajax_load_shop_comments" будет открывать Ajax контент внутри блока, заданного в атрибуте "data-content-block".
Путь к загружаемой странице задан в параметре href.
Для отзывов используются три параметра:
"hotengine_shop_comments_shop_cat_page_id" - ID товара.
"nc" - номер страницы комментариев.
"snc_on_page" - количество комментариев на странице (от 1 до 50).
Путь к странице может быть относительным, или полным, с http. Путь должен быть либо путем к товару, либо можно сразу указать ID товара, отзывы к которому необходимо загрузить.
Вы так же можете использовать собственные скрипты, передавая GET или POST параметр "hotengine_shop_comments_shop_cat_page_id", с полным адресом
товара (или ID товара), по адресу "/ajax.php". "nc" - номер страницы, "snc_on_page" - количество комментариев на странице. Дополнительно можно отфильтровать комментарии по рейтингу, передав переменную "starrating_quality", например starrating_quality=5.
Кроме того, возможно использование прямых запросов без использования Ajax.
Например, для загрузки данных в iframe. Путь такой же как и при использовании Ajax.
Скрипты добавления товара в корзину нужно подгружать дополнительно, если вы используете iframe.
Скрипт загрузки данных во всплывающем окне:
Скрипт всплывающего окна с загрузкой Ajax контента
Для получения данных в json формате, достаточно добавить GET/POST переменную "json".
Пример Ajax скрипта загрузки списка товаров + «Генератор списка товаров»
Ajax загрузка корзины
Ajax загрузка корзины.
Ссылка имеющая class "ajax_load_cart" будет открывать Ajax контент внутри блока, заданного в атрибуте "data-content-block".
Для загрузики корзины достаточно выполнить обращение к странице «/ajax.php?cart&load_cart_ajax»
Пример Ajax скрипта загрузки корзины при наведении курсора мышки
Ajax загрузка списка изображений карточки товара
Ajax загрузка списка всех категорий в JSON формате
Ajax загрузка списка всех категорий в JSON формате.
Для получения списка всех категорий магазина достаточно выполнить запрос по адресу /ajax.php?json&shop_categories&start=0¶m=:productsГде
- &start= - ID категории с которой начать отображение.
- ¶m= параметры, которые можно получить в Виджете с категориями (не обязательный параметр)
- Запрос работает только с указанием вашего домена, например http://example.com/ajax.php?json&shop_categories&start=0
Пример результата: {"id":"ID категории","parentID":"ID родительской категории","child_cat":"Количество вложенных категорий","child_items":"Количество товаров в категории","image":"Путь к изображению категории","title":"Название категории"},
Ajax загрузка товара в JSON формате
Ajax загрузка товара в JSON формате.
Для получения данных карточек товаров в JSON формате, достаточно выполнить запрос по адресу /ajax.php?json&shop_products&id=0При выгрузке товаров можно указать параметры сортировки и фильтрации по следующим параметрам:
- id - ID карточки товара (одно или несколько значений, через запятую).
- pers_shop_cat_page_catid - ID категории магазина (одно или несколько значений, через запятую)
- producer – производитель (одно или несколько значений, через запятую)
- collection - коллекция (одно или несколько значений, через запятую)
- sort_by – сортировка
- order_by – сортировка
- sort_instock_priority – сортировка приоритет
- price_from – цена от
- price_to – цена до
- stock - наличие
Запрос работает только с указанием вашего домена, например http://example.com/ajax.php?json&shop_products&id=0
Ajax загрузка форм (всплывающие формы)
Как создать форму обратной связи?
Доступно 3 способа создания формы.
- 1)Наиболее гибкий способ - это открыть конструктор форм, и создать форму, задав нужные поля. Все инструкции доступны в конструкторе формы.
- 2)Создать функциональную страницу ( feedback ) при открытии которой будет отображаться стандартная форма обратной связи.
- 3)Использовать всплывающую форму обратной связи, которая создается следующим кодом:
Code: html <a class="hotengine-dialog-email" data-site="XXXX" href="javascript://">Написать нам</a>
class="hotengine-dialog-email" - обозначает, что кнопка для всплытия формы обратной связи, а rel="XXXX" - ID сайта.
XXXX замените на ID вашего сайта, который можете узнать при наведении на кнопку АДМИН ПАНЕЛЬ.
Так же можно указать название для всплывающего окна, и текст на кнопке "Закрыть". Для этого добавьте data-close-button="Закрыть" и data-title="Обратная связь" к ссылке с классом email.
Ширину и высоту окна можно задать при помощи data-width="600" и data-height="640".
Текст кнопок в форме можно задать при помощи атрибутов data-send-button="Отправить" и data-clear-button="Очистить"
Изменить названия полей для ввода, вы можете при помощи CSS стилей (текст вписан в виде content, в css превсдо классы after).
Пример ↓
/*FORM TEXT TITTLES*/
html:lang(ru) .hotengine-form-feedback-text-title:after{ content:"Текст:"; }
html:lang(en) .hotengine-form-feedback-text-title:after{ content:"Text:"; }
html:lang(uk) .hotengine-form-feedback-text-title:after{ content:"Текст:"; }
html:lang(de) .hotengine-form-feedback-text-title:after{ content:"Text:"; }
html:lang(es) .hotengine-form-feedback-text-title:after{ content:"Texto:"; }
html:lang(fr) .hotengine-form-feedback-text-title:after{ content:"Texte:"; }
html:lang(kk) .hotengine-form-feedback-text-title:after{ content:"Мәтін:"; }
html:lang(be) .hotengine-form-feedback-text-title:after{ content:"Тэкст:"; }
html:lang(ro) .hotengine-form-feedback-text-title:after{ content:"Text:"; }
html:lang(tr) .hotengine-form-feedback-text-title:after{ content:"Metin:"; }
html:lang(it) .hotengine-form-feedback-text-title:after{ content:"Testo:"; }
html:lang(sk) .hotengine-form-feedback-text-title:after{ content:"Text:"; }
html:lang(da) .hotengine-form-feedback-text-title:after{ content:"Tekst:"; }
html:lang(pl) .hotengine-form-feedback-text-title:after{ content:"Tekst:"; }
html:lang(zh) .hotengine-form-feedback-text-title:after{ content:"文本:"; }
html:lang(hi) .hotengine-form-feedback-text-title:after{ content:"पाठ:"; }
html:lang(ar) .hotengine-form-feedback-text-title:after{ content:"النص:"; }
html:lang(pt) .hotengine-form-feedback-text-title:after{ content:"Texto:"; }
html:lang(bn) .hotengine-form-feedback-text-title:after{ content:"টেক্সট:"; }
html:lang(ru) .hotengine-form-feedback-yourname-title:after{ content:"Ваше имя:"; }
html:lang(en) .hotengine-form-feedback-yourname-title:after{ content:"Your name:"; }
html:lang(uk) .hotengine-form-feedback-yourname-title:after{ content:"Ваше ім'я:"; }
html:lang(de) .hotengine-form-feedback-yourname-title:after{ content:"Ihr name:"; }
html:lang(es) .hotengine-form-feedback-yourname-title:after{ content:"Su nombre:"; }
html:lang(fr) .hotengine-form-feedback-yourname-title:after{ content:"Votre nom:"; }
html:lang(kk) .hotengine-form-feedback-yourname-title:after{ content:"Сіздің атыңыз:"; }
html:lang(be) .hotengine-form-feedback-yourname-title:after{ content:"Ваша імя:"; }
html:lang(ro) .hotengine-form-feedback-yourname-title:after{ content:"Numele dvs.:"; }
html:lang(tr) .hotengine-form-feedback-yourname-title:after{ content:"Adınız:"; }
html:lang(it) .hotengine-form-feedback-yourname-title:after{ content:"Il tuo nome:"; }
html:lang(sk) .hotengine-form-feedback-yourname-title:after{ content:"Vaše meno:"; }
html:lang(da) .hotengine-form-feedback-yourname-title:after{ content:"Dit navn:"; }
html:lang(pl) .hotengine-form-feedback-yourname-title:after{ content:"Twoje imię:"; }
html:lang(zh) .hotengine-form-feedback-yourname-title:after{ content:"你的名称:"; }
html:lang(hi) .hotengine-form-feedback-yourname-title:after{ content:"आपका नाम:"; }
html:lang(ar) .hotengine-form-feedback-yourname-title:after{ content:"اسمك:"; }
html:lang(pt) .hotengine-form-feedback-yourname-title:after{ content:"Seu nome:"; }
html:lang(bn) .hotengine-form-feedback-yourname-title:after{ content:"আপনার নাম:"; }
html:lang(ru) .hotengine-form-feedback-yoursoname-title:after{ content:"Ваша фамилия:"; }
html:lang(en) .hotengine-form-feedback-yoursoname-title:after{ content:"Your name:"; }
html:lang(uk) .hotengine-form-feedback-yoursoname-title:after{ content:"Ваше прізвище:"; }
html:lang(de) .hotengine-form-feedback-yoursoname-title:after{ content:"Ihr name:"; }
html:lang(es) .hotengine-form-feedback-yoursoname-title:after{ content:"Su nombre:"; }
html:lang(fr) .hotengine-form-feedback-yoursoname-title:after{ content:"Votre nom:"; }
html:lang(kk) .hotengine-form-feedback-yoursoname-title:after{ content:"Сіздің аты-жөні:"; }
html:lang(be) .hotengine-form-feedback-yoursoname-title:after{ content:"Ваша прозвішча:"; }
html:lang(ro) .hotengine-form-feedback-yoursoname-title:after{ content:"Numele dumneavoastră:"; }
html:lang(tr) .hotengine-form-feedback-yoursoname-title:after{ content:"Adınız:"; }
html:lang(it) .hotengine-form-feedback-yoursoname-title:after{ content:"Il tuo nome:"; }
html:lang(sk) .hotengine-form-feedback-yoursoname-title:after{ content:"Vaše meno:"; }
html:lang(da) .hotengine-form-feedback-yoursoname-title:after{ content:"Dit navn:"; }
html:lang(pl) .hotengine-form-feedback-yoursoname-title:after{ content:"Imię i nazwisko:"; }
html:lang(zh) .hotengine-form-feedback-yoursoname-title:after{ content:"你的名称:"; }
html:lang(hi) .hotengine-form-feedback-yoursoname-title:after{ content:"आपका नाम:"; }
html:lang(ar) .hotengine-form-feedback-yoursoname-title:after{ content:"اسمك:"; }
html:lang(pt) .hotengine-form-feedback-yoursoname-title:after{ content:"O seu apelido:"; }
html:lang(bn) .hotengine-form-feedback-yoursoname-title:after{ content:"আপনার নাম:"; }html:lang(ru) .hotengine-form-feedback-yourphone-title:after{ content:"Ваш телефон:"; }
html:lang(en) .hotengine-form-feedback-yourphone-title:after{ content:"Your phone:"; }
html:lang(uk) .hotengine-form-feedback-yourphone-title:after{ content:"Ваш мобільний телефон:"; }
html:lang(de) .hotengine-form-feedback-yourphone-title:after{ content:"Ihr Telefon:"; }
html:lang(es) .hotengine-form-feedback-yourphone-title:after{ content:"Su teléfono:"; }
html:lang(fr) .hotengine-form-feedback-yourphone-title:after{ content:"Votre téléphone:"; }
html:lang(kk) .hotengine-form-feedback-yourphone-title:after{ content:"Телефон:"; }
html:lang(be) .hotengine-form-feedback-yourphone-title:after{ content:"Ваш тэлефон:"; }
html:lang(ro) .hotengine-form-feedback-yourphone-title:after{ content:"Telefonul dvs.:"; }
html:lang(tr) .hotengine-form-feedback-yourphone-title:after{ content:"Telefon:"; }
html:lang(it) .hotengine-form-feedback-yourphone-title:after{ content:"Il telefono:"; }
html:lang(sk) .hotengine-form-feedback-yourphone-title:after{ content:"Váš telefón:"; }
html:lang(da) .hotengine-form-feedback-yourphone-title:after{ content:"Din telefon:"; }
html:lang(pl) .hotengine-form-feedback-yourphone-title:after{ content:"Telefon:"; }
html:lang(zh) .hotengine-form-feedback-yourphone-title:after{ content:"你的电话:"; }
html:lang(hi) .hotengine-form-feedback-yourphone-title:after{ content:"अपने फोन:"; }
html:lang(ar) .hotengine-form-feedback-yourphone-title:after{ content:"الهاتف:"; }
html:lang(pt) .hotengine-form-feedback-yourphone-title:after{ content:"Seu telefone:"; }
html:lang(bn) .hotengine-form-feedback-yourphone-title:after{ content:"আপনার ফোন:"; }
html:lang(ru) .hotengine-form-feedback-youremail-title:after{ content:"Ваш e-mail:"; }
html:lang(en) .hotengine-form-feedback-youremail-title:after{ content:"Your e-mail:"; }
html:lang(uk) .hotengine-form-feedback-youremail-title:after{ content:"Ваш e-mail:"; }
html:lang(de) .hotengine-form-feedback-youremail-title:after{ content:"Ihre e-mail:"; }
html:lang(es) .hotengine-form-feedback-youremail-title:after{ content:"Su e-mail:"; }
html:lang(fr) .hotengine-form-feedback-youremail-title:after{ content:"Votre e-mail:"; }
html:lang(kk) .hotengine-form-feedback-youremail-title:after{ content:"Сіздің e-mail:"; }
html:lang(be) .hotengine-form-feedback-youremail-title:after{ content:"Ваш e-mail:"; }
html:lang(ro) .hotengine-form-feedback-youremail-title:after{ content:"Adresa de e-mail:"; }
html:lang(tr) .hotengine-form-feedback-youremail-title:after{ content:"E-mail:"; }
html:lang(it) .hotengine-form-feedback-youremail-title:after{ content:"Il tuo indirizzo e-mail:"; }
html:lang(sk) .hotengine-form-feedback-youremail-title:after{ content:"E-mail:"; }
html:lang(da) .hotengine-form-feedback-youremail-title:after{ content:"Din e-mail:"; }
html:lang(pl) .hotengine-form-feedback-youremail-title:after{ content:"Twój e-mail:"; }
html:lang(zh) .hotengine-form-feedback-youremail-title:after{ content:"你的电子邮件:"; }
html:lang(hi) .hotengine-form-feedback-youremail-title:after{ content:"अपने ई-मेल:"; }
html:lang(ar) .hotengine-form-feedback-youremail-title:after{ content:"البريد الإلكتروني:"; }
html:lang(pt) .hotengine-form-feedback-youremail-title:after{ content:"Seu e-mail:"; }
html:lang(bn) .hotengine-form-feedback-youremail-title:after{ content:"আপনার ই-মেইল:"; }html:lang(ru) .hotengine-form-feedback-youraddress-title:after{ content:"Ваш адрес:"; }
html:lang(en) .hotengine-form-feedback-youraddress-title:after{ content:"Your address:"; }
html:lang(uk) .hotengine-form-feedback-youraddress-title:after{ content:"Ваша адреса:"; }
html:lang(de) .hotengine-form-feedback-youraddress-title:after{ content:"Ihre Adresse:"; }
html:lang(es) .hotengine-form-feedback-youraddress-title:after{ content:"Su dirección:"; }
html:lang(fr) .hotengine-form-feedback-youraddress-title:after{ content:"Votre adresse:"; }
html:lang(kk) .hotengine-form-feedback-youraddress-title:after{ content:"Сіздің мекен-жайы:"; }
html:lang(be) .hotengine-form-feedback-youraddress-title:after{ content:"Ваш адрас:"; }
html:lang(ro) .hotengine-form-feedback-youraddress-title:after{ content:"Adresa:"; }
html:lang(tr) .hotengine-form-feedback-youraddress-title:after{ content:"Adresi:"; }
html:lang(it) .hotengine-form-feedback-youraddress-title:after{ content:"Indirizzo:"; }
html:lang(sk) .hotengine-form-feedback-youraddress-title:after{ content:"Adresa:"; }
html:lang(da) .hotengine-form-feedback-youraddress-title:after{ content:"Din adresse:"; }
html:lang(pl) .hotengine-form-feedback-youraddress-title:after{ content:"Adres:"; }
html:lang(zh) .hotengine-form-feedback-youraddress-title:after{ content:"你的地址:"; }
html:lang(hi) .hotengine-form-feedback-youraddress-title:after{ content:"आपके पते की:"; }
html:lang(ar) .hotengine-form-feedback-youraddress-title:after{ content:"العنوان الخاص بك:"; }
html:lang(pt) .hotengine-form-feedback-youraddress-title:after{ content:"O seu endereço:"; }
html:lang(bn) .hotengine-form-feedback-youraddress-title:after{ content:"আপনার ঠিকানা:"; }/*FORM TEXT TITTLES*/
Внимание! На сайте предусмотрена возможность создавать собственные формы в автоматическом режиме, а также использовать всплывающие окна для отправки необходимых от посетителя данных. Для этого воспользуйтесь конструктором форм.
Ajax загрузка комментариев
Ajax загрузка комментариев.
Элемент имеющий class "ajax_load_comments" будет открывать Ajax контент внутри блока, заданного в атрибуте "data-content-block".
ID загружаемой страницы задан в параметре data-page-id. Дополнительно можно отфильтровать комментарии по рейтингу, передав переменную "starrating_quality", например starrating_quality=5.
Для комментариев используются 4 параметра:
- hotengine_comments_hotengine_page_id - ID страницы.
- nc - номер страницы комментариев.
- snc_on_page" - количество комментариев на странице (от 1 до 50).
- hotengine_comments_page_type - тип страницы.
Типы доступных страниц (обязательный параметр):
- page - страницы
- shop_category - категории магазина
- shop_collection - коллекции магазина
- shop_producer - производители
- blog_category - категория каталога статей
- blog_page - статья
- news_page - новость
Вы можете использовать собственные скрипты, передавая GET или POST параметры "hotengine_comments_hotengine_page_id" и "hotengine_comments_page_type", по адресу "/ajax.php". "nc" - номер страницы, "snc_on_page" - количество комментариев на странице.
Для получения данных в JSON формате, достаточно добавить GET/POST переменную "json".
Ajax загрузка отзывов к товарам
Как использовать Multilanding?
На платформе HotList.biz вы можете настроить Multilanding страницы так, что бы при совпадении (части или полного) запроса, менялось содержимое целых блоков на странице (на страницах, в товарах и в меню). В качестве запроса могут использоваться данные поискового запроса (определяемые автоматически), а также ваши собственные установленные GET переменные. Например, при добавлении UTM меток в рекламных объявлениях, вы можете использовать метку "utm_term", таким образом Multilanding страница будет активна для GET переменной "utm_term". Данные об источнике перехода хранятся не более 24 часов. При этом данные об источнике перехода по партнерской программе хранятся 120 дней.
Для подтверждения сайта в центре вебмастеров (например Google или Яндекс) необходимо добавить <meta> код.
Для этого создайте Блок/Меню, вставьте нужный meta код и расположите его в служебных тегах. После чего ваш сайт будет подтвержден.
Таким же образом вы можете создать собственную шапку и низ сайта. В меню вы можете вставлять практически любой HTML код.
* - рубрику "Производитель" можно заменить на нужное вам слово.
Родительскую (первую) рубрику мы рекомендуем назвать "Магазин" (Store).
Пример создания категории магазина:
Для начала рекомендуем вам создать основную категорию, в которой вы будете создавать подкатегории.
Откройте в Админ-центре редактор категорий магазина, и нажмите "Добавить категорию".
Выберите ваш сайт и нажмите "ОК".
После этого введите имя (это будет адресом к вашей категории). Например, для основной категории создадим группу "Магазин" с именем "store".
Готово.
Точно так же вы можете управлять рубриками Производители (дополнительные категории).
** - Кроме того, если вам необходимо открыть список товаров определенной рубрики, и определенного производителя, то достаточно добавить GET переменную PRODUCER. В переменной достаточно указать или ID производителя, или его наименование. Пример: "/pers_shop/water/?producer=bonaqua" В этом случае будет показан список товаров внутри рубрики "water", и у которых производитель "bonaqua".
Поиск осуществляется после отправки формы с переменной «search». Тип данных для поиска задается при помощи пути (страницы) на которую отправляется форма. Для поиска по «Каталогу товаров» отправку необходимо сделать на страницу «/shop/».
Как добавить поисковую форму в Шапку сайта?
В Блоке/Меню, расположенном в Шапке сайта, вы можете добавить следующий код:
Code: html |
<div align="center" id="hotengine-search_form_block" itemscope itemtype="https://schema.org/WebSite"> <link itemprop="url" href="//{HOTENGINE-SC:site_url}/"/> <form id="hotengine-search-searchinput" name="hotengine-search-searchinput" method="post" action="/ru/shop/" itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction"> <meta itemprop="target" content="//{HOTENGINE-SC:site_url}/ru/shop/?search={search}"/> <label> <input class="input" name="search" type="text" placeholder="Поиск..." id="hotengine-smart_search_input" value="" itemprop="query-input"> </label> <label> <button type="submit" class="search-button">Найти</button> </label></form> </div> |
Код сразу содержит Микроразметки для Google. В пути для отправки формы (//{HOTENGINE-SC:site_url}/ru/shop/?search={search}) указан ru язык, вы можете его изменить.
Пример:
CSS стиль блока, с заменой кнопки отправки на изображение:
Code: css |
#hotengine-search_form_block{ position: relative; width:300px; float: right; z-index:2; height: 41px; margin:33px 0px 33px 10px; } #hotengine-search_form_block input{ height: 20px; vertical-align: middle; border: 1px solid #e5e5e5; padding: 0.15em; width: 20.0em; color:#9c9b9b; height: 20px; background: #fff; padding: 0 13px; height: 41px; } #hotengine-search_form_block input[type="text"]{ text-indent:4px;height: 39px; } #hotengine-search_form_block .search-button{ background:#41474c; border-radius:0px; vertical-align:middle; display:block; position:absolute; top:0px; right:0px; border:none; color:#fff; width:41px; height:41px; text-align:center; font-size:12px; line-height:25px; cursor:pointer; overflow:hidden; } #hotengine-search_form_block .search-button:after{ content:""; width:41px; height:41px; display:block; position: absolute; right:0px; top:0px; background:none; background-color:#d6d6d6; -webkit-mask:url("data:image/svg+xml;base64,PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KDTwhLS0gVXBsb2FkZWQgdG86IFNWRyBSZXBvLCB3d3cuc3ZncmVwby5jb20sIFRyYW5zZm9ybWVkIGJ5OiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIj4KDTxnIGlkPSJTVkdSZXBvX2JnQ2FycmllciIgc3Ryb2tlLXdpZHRoPSIwIi8+Cg08ZyBpZD0iU1ZHUmVwb190cmFjZXJDYXJyaWVyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KDTxnIGlkPSJTVkdSZXBvX2ljb25DYXJyaWVyIj4KDTxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMjUgMmE1LjI1IDUuMjUgMCAxMDMuMTQ0IDkuNDU1bDIuMzI2IDIuMzI1YS43NS43NSAwIDEwMS4wNi0xLjA2bC0yLjMyNS0yLjMyNkE1LjI1IDUuMjUgMCAwMDcuMjUgMnpNMy41IDcuMjVhMy43NSAzLjc1IDAgMTE3LjUgMCAzLjc1IDMuNzUgMCAwMS03LjUgMHoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgoNPC9nPgoNPC9zdmc+") center center no-repeat; -webkit-mask-size:20px; } #hotengine-search_form_block .search-button:hover:after{ background-color:#fff; } #hotengine-search_form_block .search-button:active:after{ top:1px; } |
Выдача результата поискового запроса в JSON формате / подсказки при поиске / выпадающий список товаров.
Для получения JSON данных с наименованием товара, ценой, изображением и ссылкой, можно выполнить AJAX запрос, к файлу "/ajax.php?search_shop"
В GET/POST переменной "search" необходимо передать часть названия или ID товара. Запрос можно выполнять только при оплаченном хостинге с паркованным доменом. Данные можно использовать для реализации выдачи подсказок в поисковой форме.
Включить подсказки вы можете в «Настройках», во вкладке «Поиск» - «Включить подсказки при вводе поискового запроса».
Пример реализации подсказки в поиске ↓
<link rel="stylesheet" type="text/css" href="/modules/awesomplete/autocomplete_shop_search/autocomplete_shop_search.css" /> <script defer src="/modules/awesomplete/autocomplete_shop_search/autocomplete_shop_search.js"></script>
Данную подсказку при поиске вы можете включить в настройках, во вкладке "Поиск", "Настройки показа поисковой формы".
Создаем «Тип продукта» - «Кроссовки».
«Характеристика» - указываем несколько полей, «Множественный выбор (Checkbox)» с названиями: «Цвет», «Назначение», «Производитель».
После сохранения названий полей, справа появится возможность заполнить возможные варианты.
Создайте значения.
Цвет: Белый, Красный, Зеленый.
Назначение: Бег, Баскетбол, Футбол.
Производитель: Adidas, Asics, Nike
Теперь в карточке товара во вкладке «Параметры, цена и разновидность» укажите «Тип продукта» и укажите подходящие значения.
Если вам необходимо создать поисковый фильтр, то в разделе «Мои блоки/меню» создайте «Функциональное меню» - «Поиск с Фильтром по типам продуктов».
Данный блок будет отображаться везде, где вы включите отображение.
Для того, чтобы в определенной категории автоматически раскрывался необходимый тип товара, то в тексте «Функционального блока/меню» нужно указать ID соответствующего типа товара, а также добавить текст «autopath», для того, чтобы при выполнении поиска, он осуществлялся на той же странице, а не переходил на общий поиск по сайту.
Например, если ID созданного ранее типа продукта был 1123, то текст Блока/Меню будет «1123autopath».
Теперь укажите путь на котором отображать блок/меню с поисковым фильтром
«Введите символы, при обнаружении которых отображать Блок/Меню:»
/category_name/
Где category_name – имя категории, путь по которому она расположена.
Для скрытия Поискового фильтра при просмотре карточки товара в пункте «Введите символы, при обнаружении которых не отображать Блок/Меню:» введите
.htm
Для скрытия поискового поля вверху над Типом продукта, в Редакторе дизайна в Css стилях, добавьте «.menu_position_left .hotengine-smart_search_input_label { display: none;}»
Для скрытия поискового поля выбора Типа продукта, в Редакторе дизайна в Css стилях, добавьте «.menu_position_left .shop_catalog_product_types_id_label { display: none;}»
.menu_position_left - означает, что скрываем поля в Левом блоке сайта.
Для отображения количества товаров с указанным параметров можно использовать параметр («count») при созданий Функционального Блока/Меню с поисковым фильтром.
Для скрытия не обнаруженных характеристик - «hideempty» (подробнее описано на странице создания функционального Блока/Меню).
Чтобы отображать выбранные посетителем значения поискового фильтра в верхней части страницы, можно использовать параметр «checkedlist». Эту функцию также можно активировать в разделе «Мобильное меню: Приложение» на вкладке «Поисковый фильтр». Она упростит пользователю доступ к выбранным значениям для поиска, что особенно удобно при просмотре сайта на мобильных устройствах или экранах с небольшим разрешением. Функцию достаточно включить один раз — либо с помощью параметра «checkedlist» в разделе «Мои блоки/Меню» - «Поисковый фильтр», либо в разделе «Мобильное меню: Приложение», во вкоадке «Поисковый фильтр».
Например, после добавления товара в корзину вызывается функция callback_hotengine_cart_plus_after, если она существует
Code: JavaScript |
if(typeof(callback_hotengine_cart_plus_after) === "function"){ callback_hotengine_cart_plus_after(); } |
Для запуска собственного скрипта функции callback_hotengine_cart_plus_after, ее необходимо создать.
Code: JavaScript |
function callback_hotengine_cart_plus_after(){ // ваш скрипт } |
Список некоторых предусмотренных Callback функций:
Shop
callback_hotengine_ajax_load_products_list - после загрузки списка товаров (универсальная функция во всех случаях загрузки списка товаров скриптом)
callback_hotengine_ajax_load_products - после загрузки списка товаров, по кнопке "Показать еще".
callback_hotengine_shop_products_list_div_button - после проматывания списка товаров в слайде
callback_hotengine_shop_page_boughtwith_loaded($id) - после загрузки списка, "с товаром покупают" ($id-ID загружаемых товаров)
Shop / Automatic description
callback_hotengine_shop_autodescription($type) - после отображения автоматического описания ($type - html,ajax)
callback_hotengine_shop_autodescription_readmore($id,$job) - после загрузки развернутого текста автоматического описания ($job - show,hide,load)
Shop / Cart
callback_hotengine_cart_plus - после отправки запроса на добавление товара в корзину
callback_hotengine_cart_addresult($result,$item_id) - после добавления товара в корзину, различные варианты результата ($result-значение результата. Значения: "added" - добавлен, "removed" - удален, "instock_smaller" - остаток меньше чем добавляют, "instock_smaller_exists" - остаток меньше чем уже добавлено в корзину)
callback_hotengine_cart_plus_after($items_in_cart) - после добавление товара в корзину ($items_in_cart - количество товаров в корзине после выполнения)
callback_hotengine_cart_plus_after_boughtwith($ids) - после добавление товара в корзину передается список "С товаром покупают" в переменной $ids
callback_hotengine_cart_plus_after_boughtwith_email($ids) - после добавление товара в корзину передается "Список для рассылки" в переменной $ids (E-mail рассылка других товаров)
callback_hotengine_cart_count_product_num - после выбора продукта для изменения его количества, в корзине
Shop / Variant
callback_hotengine_shop_product_variaty_select - после выбора разновидности
callback_hotengine_variety_change_price($price) - после выбора разновидности и изменения цены ($price - новая цена)
callback_hotengine_variety_change_sku($sku) - после выбора разновидности и изменения кода товара ($sku - новый sku)
callback_hotengine_variety_change_skuimage($img) - после выбора разновидности если указано новое изображение ($img - новый путь к изображению)
callback_hotengine_variety_change_stock_count($stock) - после выбора разновидности и изменения количества в наличии ($stock - новое количество в наличии). Данная функция не инициализируется, если не создана, так как не всегда необходимо изменять количество товара в наличии.
callback_hotengine_variety_require() - если не выбрана разновидность, перед вызовом диалогового окна сообщение
callback_hotengine_variety_require_list($href) - если не выбрана разновидность, перед вызовом диалогового окна с сообщением, при просмотре списка товаров ($href - ссылка для просмотрта карточки товара)
Shop / Favorite / Compare
callback_hotengine_favorite_addresult($result,$count_favorite) - после добавления товара в избранные, различные варианты результата ($result-значение результата. Значения: "added" - добавлен, "removed" - удален; $count_favorite - количество товаров в избранных)
callback_hotengine_compare_plus() - после добавления товара в список для сравнения
Shop / Search
callback_hotengine_shop_catalog_product_types - после выбора типа продукта в поисковом фильтре
Shop / Stock
callback_hotengine_shop_product_stock_inform- после вызова окна "Сообщить о наличии"
callback_hotengine_shop_product_stock_inform_send - после отправки запроса "Сообщить о наличии"
Shop / Delivery
callback_hotengine_loading_delivery_type - после выбора способа доставки
callback_hotengine_loading_delivery_type_finalvalues - после выбора способа доставки оконательного значения
User
callback_hotengine_authorize_result($result) - функция после авторзиации пользователя ($result -рузальтат выполнения: 2-ошибка логина илипароля, 3-аккаут заблокирован, 4-необходима активация,5-Активация прошла успешно,6-Не верный код Captcha)
Shop / Sell Statistic
callback_hotengine_statisticsell_printorder($a) - после вызова окна распечатки заказа. $a=1 - перед отображением окна. $a=2 - после отображением окна.
Blog
callback_hotengine_blog_page_list_div_button - после проматывания списка статей в слайде
Dialog
callback_hotengine_dialog_email- после вызова окна для обратной связи
callback_hotengine_form_submit_result($a) - после отправки формы через диалоговое окно. $a=0 - ошибка. $a=1 - ok.
Mobile
callback_hotengine_mobilemenu_click($a,$href) - нажатие на ссылки в мобильном меню. $a=0 - ссылки пунктов и верхние иконки. $a=1 - ссылки подкатегорий. $a=2 - после отображением окна ajax с контентом.
callback_hotengine_mobilemenu_show - функция отображения контента мобильного меню (для создания эффекта появления). По умолчанию $("#hotengine-mobile-outer").show(0); Пример ↓
Code: html |
var $element = $("#hotengine-mobile-outer"); |
Большинство решений вы можете реализовать при помощи скриптов (JavaScript). Некоторые из них описаны на странице инструкций, некоторые на странице настроек. Дополнительно вы можете найти готовые решения на странице Скрипты для использования на сайтах.
Доступные форматы:
- Sitemap.xml Карта сайта со всеми данными
- XML Google Merchant (Расширенная и сокращенная)
- XML Yandex Market
- CSV Price
- JSON Все данные каталога магазина
- Прайс для Hotline.ua + cобственная наценка
- Прайс для Prom.ua + cобственная наценка
- XML для Rozetka.ua + cобственная наценка
Генератор и список ссылок доступен в админ-панели - «XML/CSV/XLS/JSON»
Дополнительно при выгрузке товаров можно указать параметры сортировки и фильтрации по следующим параметрам:
- sort_by – сортировка
- order_by – сортировка
- sort_instock_priority – сортировка приоритет
- price_from – цена от
- price_to – цена до
- producer – производитель (одно или несколько значений, через запятую)
- stock - наличие
- collection - коллекция (одно или несколько значений, через запятую)
- pers_shop_cat_page_catid - ID категории магазина (одно или несколько значений, через запятую)
Параметры можно указать в виде GET переменной, после основного пути к XML файлу. Например «путь.xml?producer=1» Варианты значений вы можете узнать на странице импорта товаров в инструкциях.
Для этого укажите наши NS сервера в настройках вашего домена:
NS1.HOTLIST.BIZ
NS2.HOTLIST.BIZ
Или IP адрес 88.218.28.193 в «A» запись.
После чего обратитесь к нам через форму обратной связи. В запросе укажите сайт, к которому желаете подключить домен*, и адрес этого домена.
* - мы не осуществляем продажу доменов, для подключения своего домена, его необходимо предварительно зарегистрировать/купить.
Домены в зоне .RU в данный момент не обслуживаются.
SSL
SSL — это сокращение от Secure Socket Layer — это стандартная интернет технология безопасности, которая используется, чтобы обеспечить зашифрованное соединение между веб-сервером (сайтом) и браузером. SSL сертификат позволяет нам использовать HTTPS протокол (после подключения SSL сертификата, ваш сайт будет открываться не через HTTP, а через HTTPS протокол).Что такое HTTPS?
HTTPS (Hypertext Transport Protocol Secure) – это протокол, который обеспечивает безопасность и конфиденциальность при обмене информацией между сайтом и устройством пользователя. Посетители сайта рассчитывают, что указанные ими данные не попадут в руки мошенников. Чтобы защитить данные, которые оставляют посетители на вашем сайте, начните применять протокол HTTPS.Как подключить SSL сертификат
Подключить наш SSL сертификат вы можете при оплате хостинга, указав галочку «SSL сертификат».
Кроме того, Вы можете подключить SSL сертификат для вашего домена, предварительно купив его у любого регистратора. Стоимость подключения и использования вашего сертификата составляет 1$ в месяц (минимальный срок для оплаты - 12мес.).
Для интернет-магазина достаточно сертификата Comodo Positive SSL.
Оплатить подключение SSL.
Вы можете подключить к вашему домену почтовый сервис Google.com, Zoho.com, Яндекс, Mail.ru и другие.
2)Выберите соответствующий тариф, например 5GB - FREE, бесплатный
3)Добавьте ваш домен @yourdomain. Для проверки потребуется создать CNAME или TXT завить в NS записях домена. Вы можете прислать данные и мы добавим их, либо укажите их самостоятельно. Желательно пришлите и TXT и CNAME данные.
4) Добавьте MX записи, с именем @ или пустым именем.
Значения в таблице ниже:
Host/ Domain | Address/ Mail Server/ MX Entries/ Value | Priority |
@/ Blank/ Domain name | mx.zoho.eu. | 10 |
@/ Blank/ Domain name | mx2.zoho.eu. | 20 |
@/ Blank/ Domain name | mx3.zoho.eu. | 50 |
5) В NS записях домена, создайте текстовую запись со значение "v=spf1 ip4:88.218.28.193 include:zoho.eu ~all"
6) По желанию, можно добавить DKIM Signature https://www.zoho.eu/mail/help/adminconsole/dkim-configuration.html
7) Создайте email адреса и пользователей.
8) Укажите созданный ящик в качестве SMTP сервера на сайте.
SMTP server: smtp.zoho.eu
Port: 465
Security Type: SSL
Или
SMTP server: smtp.zoho.eu
Port: 587
Security Type: TLS
https://www.zoho.eu/mail/help/zoho-smtp.html.
Инструкции по подключению на www.zoho.eu.
Для подключения к каналу с оповещением о новых заказах, необходимо отправить hotlist_viber_key (где key - ваш ключ), на канал https://viber.com/hotlistbiz. Вы можете поделиться данным ключом и использовать его с различных устройств с Viber.
Установить ключ можно в «Настройках», во вкладке «Уведомления». Кроме того, можно использовать ключ для Форм, который можно указать в «Редакторе форм».
Для отключения оповещений необходимо либо сменить ключи, либо отправить DISABLE hotlist_key (где key - ваш ключ сайта или формы) в Viber.
Для подключения к каналу с оповещением о новых заказах, необходимо отправить hotlist_telegram_key (где key - ваш ключ), на канал https://t.me/hotlistbiz_bot. Вы можете поделиться данным ключом и использовать его с различных устройств с Telegram.
Установить ключ можно в «Настройках», во вкладке «Уведомления». Кроме того, можно использовать ключ для Форм, который можно указать в «Редакторе форм».
Для отключения оповещений необходимо либо сменить ключи, либо отправить DISABLE hotlist_key (где key - ваш ключ сайта или формы) в Telegram.
Данная разметка содержит следующие данные:
data-hotengine-marking-type= тип страницы
data-hotengine-marking-timestamp= дата создания страницы
data-hotengine-marking-view= количество просмотров
Данные небходимы в случае, если вы хотите запретить или отобразить дополнительные данные, на определенной странице, с определенным типом страницы, или если вам необходимо отобразить количество просмотров, или дату материала (новости, статьи, товара). Кроме того, проинспектировав данный элемент, вы можете обнаружить ID записи (страницы, статьи или товара), а также другие дополнительные данные.
Если вам нужны еще какие-то данные в разметке, то сообщите нам об этом.
Code: html |
<span class="hotengine-marking" data-hotengine-marking-type="shop_catalog_page" data-hotengine-marking-timestamp="1422368197" data-hotengine-marking-view="6" data-hotengine-marking-shop_catalog_page_id="71111" data-hotengine-marking-shop_catalog_page_price="1" data-hotengine-marking-shop_catalog_page_price_currency="USD" data-hotengine-marking-shop_catalog_page_complectation="22323" data-hotengine-marking-video="https://youtu.be/tAyVrZ1jzC4"> |
Кроме того, при установке индивидуальных параметров доставки, добавляются еще атрибуты:
data-hotengine-marking-delivery="xxx"
data-hotengine-marking-delivery_price="xxx"
data-hotengine-marking-delivery_note="xxx"
При наличии габаритов и веса товара добавляются атрибуты: data-hotengine-marking-shop_cat_page_deliv_width="XX"
data-hotengine-marking-shop_cat_page_deliv_height="XX"
data-hotengine-marking-shop_cat_page_deliv_length="XX"
data-hotengine-marking-shop_cat_page_deliv_units="XX"
data-hotengine-marking-shop_cat_page_deliv_weight="XX"
data-hotengine-marking-shop_cat_page_deliv_weight_units="XX"
data-hotengine-marking-shop_cat_page_deliv_capacity="XX"
Пример скрипта, который проверяет страницу на наличие объекта разметки и типа страницы «shop_catalog_page» (страница карточки товара).
Code: html |
var product_marking = $(".hotengine-marking[data-hotengine-marking-type='shop_catalog_page']"); if(typeof product_marking !== typeof undefined && product_marking !== false && product_marking !='undefined' && product_marking !=''){ var product_id = product_marking.attr("data-hotengine-marking-shop_catalog_page_id"); console.log("ID PRODUCT IS "+product_id); } |
Если страница определена как карточка товара, то извлекаем ID товара - data-hotengine-marking-shop_catalog_page_id.
Доступные типы страниц:
Shop:
- shop_catalog_page - карточка товара
- shop_catalog_page_incategory - карточка товара на странице со списком *
- shop_catalog_page_incategory_search - карточка товара на страницие результата поиска
- shop_catalog_page_cart_products_list - карточка товара в корзине
- pers_shop_catalog_category - категория магазина
- shop_catalog_category - категория магазина в каталоге hotlist.biz
- shop_catalog_category_collection - категория-коллекция, магазина
- shop_catalog_category_producer - категория-производитель, магазина
- shop_statistic_sale - статистика продаж
- shop_catalog_page_cart_bought_with - с товаром покупают (при просмотре корзины)
- blog_catalog_page - статья
- blog_catalog_page_incategory - список статей *
- news_catalog_page - новость
- news_catalog_page_incategory - список новостей *
- news_catalog_page_incategory_menu - Блок/Меню, генерируемый список новостей *
* - у данных объектов списка атрибуты микроразметки добавлены без использования отдельного элемента hotengine-marking.
Пример использования разметки ↓ (Отображение даты создания записи)
Code: html |
<!--HTML-start--> <script> //convert timestumo ti date function timeConverter(UNIX_timestamp){ var a = new Date(UNIX_timestamp * 1000); var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; var year = a.getFullYear(); var month = months[a.getMonth()]; var date = a.getDate(); var hour = a.getHours(); var min = a.getMinutes(); var sec = a.getSeconds(); var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec; return time; } //add date to content $(function(){ $("#hotengine-content-blog .hotengine-blog-page-list-block").each(function(){ $(this).find(".contenth_i").prepend('<div class="hotengine_add_date">'+timeConverter($(this).attr("data-hotengine-marking-timestamp"))+'</div>'); }); }) </script> <!--HTML-end--> |
Данный скрипт находит элемент разметки, #hotengine-content-blog .hotengine-blog-page-list-block (статью из списка) и вставляет Дату, предварительно преобразованная из TIMESTAMP, функцией timeConverter в начало элемента .contenth_i.
Пример использования разметки для кнопки Личный кабинет ↓ (Вход/Выйти/Мои заказы)
Code: html |
<div class="auth_block"><noindex> <a class="auth_login" rel="nofollow" href="/ru/admin/">Личный кабинет</a> <a class="auth_my_orders" rel="nofollow" href="/ru/statistic_orders.htm">Мои заказы</a> <a class="auth_logout" rel="nofollow" href="/?action=logout">Выйти</a> </noindex></div> <style> .auth_my_orders{ display:none!important; } .auth_logout{ display:none!important; } [data-hotengine-marking-userid] .auth_login {display:none!important; } [data-hotengine-marking-userid] .auth_logout{ display:inline-block!important; } [data-hotengine-marking-userid] .auth_my_orders{ display:inline-block!important; } </style> |
Данный скрипт содержит ссылки. Первая на страницу авторизации (.auth_login). Вторая на страницу с заказками пользователя (.auth_my_orders). Третья - ссылка для Выхода (.auth_logout). Кроме того вы можете создать ссылку для регистрации (/index.php?action=register).
После того, как пользователь входит на сайт, при помощи CSS стиля и атрибута [data-hotengine-marking-userid] (который появляется только если пользователь прошел аутентификацию), скрывается ссылка .auth_login/Личный кабинет и отображается ссылка .auth_my_orders/Мои заказы, а также .auth_logout/Выход.
Кроме того, к тегу <HTML> для пользователей добавляется разметка data-hotengine-marking-userid, с ID пользователя.
Если пользователь добавлен как "Клиент" со своей скидкой, то также добавляется метка data-hotengine-marking-user-group-discount, с размером его скидки.
Code: html |
<html lang="ru" data-hotengine-marking-userid="USERID" data-hotengine-marking-user-group-discount="-10%"> |
ru - язык сайта
USERID - ID пользователя
10% - размер клиентской скидки.
Если пользователь добавлен в Группу клиентов, то дополнительно указывается ID группы к которой он относится.
Code: html |
<html lang="ru" data-hotengine-marking-userid="XXXXX" data-hotengine-marking-user-group-discount="-20%" data-hotengine-marking-user-group-id="XXXXX"> |
Пример дополнительной разметки в разновидности товара ↓
Code: html |
<ul class="hotengine-shop-product-variety_select" size="1" data-vpid="XXXXX" > <li value="0" title="Разновидность" >Разновидность</li> <li value="XXXXXX" data-hotengine-variety-disable-add="1" data-hotengine-variety-pricechange="+10" data-hotengine-variety-stockcount="10" class="">Разновидность 1</li> <li value="XXXXX" data-hotengine-variety-disable-add="0" data-hotengine-variety-pricechange="=500" data-hotengine-variety-stockcount="10" class="hotengine-shop-product-variety_hilight">Разновидность 2</li> <li value="XXXXX" data-hotengine-variety-disable-add="0" data-hotengine-variety-pricechange="-110" data-hotengine-variety-stockcount="10" class="hotengine-shop-product-variety_hilight-selected">Разновидность 3</li> </ul> |
data-hotengine-variety-disable-add - вкл/выкл возможность добавлить разновидность в корзину (1-запретить, 0-разрешить). При нажатии на разновидность, выключенную для добавления - ничего не происиходит и цена товара и артинкул не изменяется.
data-hotengine-variety-pricechange - данные об измении цены, вы можете их использовать для создания подстветки данных об изменяемой цене (при помощи javascript).
data-hotengine-variety-stockcount - количество в наличии
CSS классы для элементов:
.hotengine-shop-product-variety_hilight - выделенный объект (при наведении мышки).
.hotengine-shop-product-variety_hilight-selected - выделенный объект на который нажали (активная разновидность).
Кроме того, для всех дочерних элементов блока с выключенной функцией добавления в корзину [data-hotengine-variety-disable-add="1"] добавлена стилизация обесцвечивания и обычный курсор при наведении.
Пример метки при поисковом запросе в магазине ↓
Code: html |
<span class="hotengine-marking" data-hotengine-marking-type="shop_catalog_page_incategory_search" data-hotengine-marking-search="отдельно поисковый запрос" data-hotengine-marking-searchparam="?&search=поисковый запрос полная строка (+сортировка и прочие данные)" data-hotengine-marking-sortparam="дополнительные данные сортировки" data-hotengine-marking-smart_search_price_from="цена от" data-hotengine-marking-smart_search_price_to="цена до" data-hotengine-marking-smart_search="поисковый запрос при использовании поискового фильтра" data-hotengine-marking-searchresult-num="55"> |
data-hotengine-marking-searchparam - поисковый запрос, можно использовать для создания ссылки на страницу с запросом.
data-hotengine-marking-searchresult-num - количество найденных продуктов по введенному запросу.
Пример метки в категориях магазина магазина ↓
Code: html |
<span class="hotengine-marking" data-hotengine-marking-type="pers_shop_catalog_category" data-hotengine-marking-view="9999" data-hotengine-marking-pers_shop_catalog_category_parent_id="222" data-hotengine-marking-pers_shop_catalog_category_child_count="2" data-hotengine-marking-pers_shop_catalog_page_count="999" data-hotengine-marking-pers_shop_catalog_page_child_count="1299" data-hotengine-marking-pers_shop_catalog_category_name="nameofcategory" data-hotengine-marking-pers_shop_catalog_category_id="8342"> |
data-hotengine-marking-pers_shop_catalog_category_parent_id - ID родительской категории
data-hotengine-marking-pers_shop_catalog_category_child_count - количество подкатегорий (только к этому родителю)
data-hotengine-marking-pers_shop_catalog_page_count - количество товаров в этой категории
data-hotengine-marking-pers_shop_catalog_page_child_count - количество товаров в этой и дочерних подкатегориях
data-hotengine-marking-pers_shop_catalog_category_name - имя категории.
data-hotengine-marking-pers_shop_catalog_category_id - ID категории.
Аналогичная разметка используется для Производителей.
Пример поиска метки с поисковым запросом в магазине ↓
Code: html | ||
|
data-hotengine-marking-search - поисковый запрос
Кроме того к некоторым блокам сайта добавлена разметка "data-hotengine-..." с дополнительными данными.
Например "data-hotengine-product-images-count" - количество картинок у товара.
В корзине разметкой указано количество товаров, общая стоимость и валюта (data-hotengine-cart-count, data-hotengine-cart-total-price, data-hotengine-cart-currency)
Дополнительная разметка, «data-» реализована прямо в элементах разметки, например, элемент class="hotengine-categories-list-block" (блок иконки категории) может содержать разметку: data-image="1" - указана картинка к категории, data-child-cat="7" - количество подкатегорий, data-child-items="5114" - Количество товаров во всех внутренних рубриках, а также количество подкатегорий, data-ci="44" - ID категории. (data-ci - категории магазина, data-pci - категории производителей, data-cci - категории коллекций, data-bci - категории каталога статей)
В статистике продаж, при отдельном просмотре заказа также присутствует микроразметка.
Пример проверки наличия элемента разметки ↓
Code: html |
var $catergory = $('.hotengine-marking[data-hotengine-marking-type="pers_shop_catalog_category"]'); if (typeof $catergory !== typeof undefined && $catergory !== false && $catergory !== "undefined" && $catergory.length > 0){ var $nemecat = $catergory.attr("data-hotengine-marking-pers_shop_catalog_category_name"); alert("Category name is "+$nemecat); } |
Инструкция по созданию Сортировки товаров в магазине с примером ↓
Воспользуйтесь ссылкой для автоматического создания функционального меню «Сортировка» или заполните Блок/Меню по инструкциям ниже:
Создайте "Блок/Меню", расположение "вверху".
Имя Блока/Меню: hotengine_sort_products
Заголовок Блока/Меню: hotengine_sort_products
Положение Блока/Меню: вверху
Показывать Блок/Меню на страницах: везде
Введите символы, при обнаружении которых отображать Блок/Меню: (Без пробелов)
Введите символы, при обнаружении которых не отображать Блок/Меню: (Без пробелов)
Code: |
<form id="hotengine-sort-products-generated" name="hotengine-sort-products-generated" method="get" action=""> <span> <label> <select name="sort_by" id="sort_by" onchange="this.form.submit()"> <option value="ASC">Сортировать:</option> <option value="ASC">По возрастанию</option> <option value="DESC">По убыванию</option> </select> </label> <label> <select name="order_by" id="order_by" onchange="this.form.submit()"> <option value="5">Сортировать:</option> <option value="0">По ID товара</option> <option value="4">По Наименованию</option> <option value="1">По Дате</option> <option value="2">По Цене</option> </select> </label> <label> <select name="NUM_ONPAGE" id="NUM_ONPAGE" onchange="this.form.submit()"> <option value="10">10</option> <option value="20">20</option> <option value="30">30</option> <option value="50">50</option> </select> </label> <input class="smart_search" name="smart_search" type="hidden" value=""> <input class="search" name="search" type="hidden" value=""> </span> </form> <script type="text/javascript" src="/templates/scripts/hotengine-script-sort-shop-products.js"></script> |
CSS стиль для сортировки (добавить в редакторе дизайна в CSS стили):
Code: |
.hotengine_sort_products #menu_c .headm{ display:none; } .hotengine_sort_products #menu_c { border: none; background: none; text-align: right;} .hotengine_sort_products #menu_c select { background: transparent; padding: 5px 8px 5px 5px; font-size: 12px; line-height: 1; border-radius: 2px; height: 24px; -webkit-appearance: none; overflow: hidden; background: url(/templates/styles/menu_arrow/arrow-down.svg) no-repeat 95%; background-size: 16px; } .hotengine_sort_products #menu_c select[name="NUM_ONPAGE"] { background:none;} @-moz-document url-prefix(){ .hotengine_sort_products #menu_c select { padding:0px!important; background:none!important; } .menu_position_top_000000 #menu_c span:before{ content:"Сортировать:"; display:inline-block; padding: 5px; font-size: 12px; } } |
Где 000000 нужно заменить на ID созданного меню с кодом сортировки.
Инструкция по изменению сообщения о не выбранной разновидности ↓
Текст ошибки выбора разновидности:
Сообщение о необходимости выбрать разновидность товара реализовано в диалоговом окне при помощи CSS элемента. Заменить надписи вы можете в CSS стилях:
Code: СSS |
html:lang(ru) .hotengine-shop_cart_add_error_wrong_variety:after{ content:"Вы не выбрали разновидность товара."; } html:lang(en) .hotengine-shop_cart_add_error_wrong_variety:after{ content:"You did not select a complete set of goods."; } html:lang(uk) .hotengine-shop_cart_add_error_wrong_variety:after{ content:"Вы не обрали різновид товару."; } html:lang(pl) .hotengine-shop_cart_add_error_wrong_variety:after{ content:"Nie wybrałeś typu produktu."; } |
Кроме того, перед отображением сообщения, вызывается callback функция callback_hotengine_variety_require.
При просмотре списка товаров, перед отображением сообщения, вызывается callback функция callback_hotengine_variety_require_list($href), где в качестве $href передается ссылка на карточку товара.
Пример функции с диалоговым окном, которое используется по умолчанию, и может быть изменено:
Code: JavaScript |
<script> function callback_hotengine_variety_require(){ $("body").append('<div id="hotengine-shop_cart_add_error_wrong_variety"><a class="hotengine-shop_cart_add_error_wrong_variety-btn-close" data-micromodal-close onclick=\'(function() { $("#hotengine-shop_cart_add_error_wrong_variety,#hotengine-shop_cart_add_error_wrong_variety-data").remove(); return false; })();\'></a></div>'); hotengine_micromodal({ id: "hotengine-shop-cart-add-error-wrong-variety", content: $("#hotengine-shop_cart_add_error_wrong_variety-data").html(), defaultWidth: $(window).width() > 410 ? "410px" : "90%", defaultHeight: "", minWidth: "290px", onCloseRemove: false, unsetContentHeight: true, onCloseEvent: function(){ $("#hotengine-shop-cart-add-error-wrong-variety,#hotengine-shop_cart_add_error_wrong_variety-data").remove(); } }); return false; } </script> |
В параметрах товара можно указать заголовок над списком разновидностей. Длина заголовка добавляется в виде CSS class'а. Например, если заголовок "Выбрать вес", то его длина 24 символа. Соответственно указывается класс hotengine-shop-product-variety-title_24. Вы можете использовать либо текст либо длину заголовка над разновидностью. Например:
Code: JavaScript |
<script> function callback_hotengine_variety_require(){ if($(".hotengine-shop-product-variety-title_24").length > 0){ $text = "Вы не выбрали вес!"; } else if($(".hotengine-shop-product-variety-title_38").length > 0){ $text = "Вы не выбрали количество!"; } else if($(".hotengine-shop-product-variety-title_26").length > 0){ $text = "Вы не выбрали цвет!"; } else { $text = "Вы не выбрали разновидность!"; } $("body").append('<div id="hotengine-shop_cart_add_error_wrong_variety"><b>'+$text+'</b><a class="hotengine-shop_cart_add_error_wrong_variety-btn-close" data-micromodal-close onclick=\'(function() { $("#hotengine-shop_cart_add_error_wrong_variety,#hotengine-shop_cart_add_error_wrong_variety-data").remove(); return false; })();\'></a></div>'); hotengine_micromodal({ id: "hotengine-shop-cart-add-error-wrong-variety", content: $("#hotengine-shop_cart_add_error_wrong_variety-data").html(), defaultWidth: $(window).width() > 410 ? "410px" : "90%", defaultHeight: "", minWidth: "290px", onCloseRemove: false, unsetContentHeight: true, onCloseEvent: function(){ $("#hotengine-shop-cart-add-error-wrong-variety,#hotengine-shop_cart_add_error_wrong_variety-data").remove(); } }); return false; } </script> |
Инструкция по добавлению ссылки на отзывы / rating в товарах ↓
Для создания ссылки на иконки Рейтинга, в списке товаров, необходимо найти все элементы списка, и добавить ссыку вокруг элементов рейтинга.
Кроме того, после загрузки списка товаров в слайдере или кнопкой "Показать еще", необходимо выполнить добавление ссылки повторно (callback_hotengine_ajax_load_products и callback_hotengine_shop_products_list_div_button).
Code: JavaScript |
<script type="text/javascript"> <!-- $(function(){ $(".hotengine-shop-product-list-block .hotengine-shop-product-rating-block").each(function(){ var $urlr = $(this).parent().find(".hotengine-shop-product-read_more a").attr("href"); $(this).wrap('<a class="hotengine-shop-product-rating-block-url" href="'+$urlr+'#tabs-review"></a>'); }); }); function callback_hotengine_ajax_load_products(){ $(".hotengine-shop-products-list-content-append .hotengine-shop-product-list-block :not([.hotengine-shop-product-rating-block-url]) .hotengine-shop-product-rating-block").each(function(){ var $urlr = $(this).parent().find(".hotengine-shop-product-read_more a").attr("href"); $(this).wrap('<a class="hotengine-shop-product-rating-block-url" href="'+$urlr+'#tabs-review"></a>'); }); } function callback_hotengine_shop_products_list_div_button(){ $(".hotengine-shop-products-list-content .hotengine-shop-product-list-block .hotengine-shop-product-rating-block").each(function(){ var $urlr = $(this).parent().find(".hotengine-shop-product-read_more a").attr("href"); $(this).wrap('<a class="hotengine-shop-product-rating-block-url" href="'+$urlr+'#tabs-review"></a>'); }); } --> </script> |
Для объекта ссылки необходимо задать положение, например CSS:
Code: JavaScript |
.hotengine-shop-product-list-block .hotengine-shop-product-rating-block{ position:relative; display: block; bottom: 0px;} .hotengine-shop-product-list-block .hotengine-shop-product-rating-block-url{ position:relative; display: block; bottom: 1px;} |
Дополнительные блоки в корзине: Если у товара установлена оптовая цена, то создается SPAN элемент .hotengine-shop-product-price_opt_inform_block.
Code: html |
<span class="hotengine-shop-product-price_opt_inform_block"><span class="hotengine-shop-product-price_opt_inform_block_title"></span><span class="hotengine-shop-product-price_opt_inform_original_price">100</span><span class="hotengine-shop-product-price_opt_inform_original_price_opt">100</span></span> |
.hotengine-shop-product-price_opt_inform_block_title - блок с текстом «Оптовая цена» (изменить можно через CSS стили, content).
.hotengine-shop-product-price_opt_inform_block - блок с информацией о скидке
.hotengine-shop-product-price_opt_inform_original_price - цена
.hotengine-shop-product-price_opt_inform_original_price_opt - оптовая цена
Если у товара указа Акция, то создается SPAN элемент .hotengine-shop-product-price_sale_inform_block.
Code: html |
<span class="hotengine-shop-product-price_sale_inform_block"><span class="hotengine-shop-product-price_sale_inform_block_title"></span><span class="hotengine-shop-product-price_sale_inform_original_price">100</span><span class="hotengine-shop-product-price_sale_inform_original_price_old">120</span></span> |
.hotengine-shop-product-price_sale_inform_block_title - блок с текстом «Акционная цена» (изменить можно через CSS стили, content).
.hotengine-shop-product-price_sale_inform_block - блок с информацией о скидке
.hotengine-shop-product-price_sale_inform_original_price - цена
.hotengine-shop-product-price_sale_inform_original_price_old - старая цена товара (отобржается только если значение указано и не равно нулю)
У каждой страницы эти данные уникальные, например это может быть ID страницы (стати, товара, страницы).
Ниже представлен список основных данных для автозамены.
{HOTENGINE-SC:current_page_id} - ID текущей страницы (статьи, страницы, товара, новости)
{HOTENGINE-SC:site_url} - URL вашего сайта (адрес)
{HOTENGINE-SC:lang} - Язык открытой страницы
{HOTENGINE-SC:site_tagline} - Слоган сайта
{HOTENGINE-SC:contacts} - Блок с контактами
{HOTENGINE-SC:slide_menu_widget:XX} - Блок с виджетом Slide Menu
{HOTENGINE-SC:slider_widget:XX} - Блок с виджетом Slider
{HOTENGINE-SC:smart_search_widget:PARAM} - Блок с виджетом Поисковый фильтр
{HOTENGINE-SC:mainmenu} - главное меню
{HOTENGINE-SC:langmenu} - переключение языка
{HOTENGINE-SC:user_nickname} - Имя пользователя (если он выполнил авторизацию)
{HOTENGINE-SC:user_id} - ID пользователя (если он выполнил авторизацию)
{HOTENGINE-SC:user_login} - Login пользователя (если он выполнил авторизацию)
{HOTENGINE-SC:user_discount} - Пользовательская скидка
{HOTENGINE-SC:user_cashback} - Баланс Cashback
{HOTENGINE-SC:user_group_id} - ID группы пользователя
{HOTENGINE-SC:shop_cart_menu} - корзина с товаром (Блок/Меню Корзина)
{HOTENGINE-SC:favorites} - ссылка на избранные товары
{HOTENGINE-SC:shop_compare_menu} - сравнение товаров
{HOTENGINE-SC:shop_cat_page_image} - Путь к изображению товара (если открыта страница товара)
{HOTENGINE-SC:shop_cat_page_id} - ID товара (если открыта страница товара). Также можно использовать {HOTENGINE-SC:current_page_id}
{HOTENGINE-SC:shop_cat_page_sku} - Код товара (если открыта страница товара)
{HOTENGINE-SC:shop_cat_page_currency} - Валюта товара (сокращенная) (если открыта страница товара)
{HOTENGINE-SC:shop_cat_page_currency_iso} - Валюта товара (ISO) (если открыта страница товара)
{HOTENGINE-SC:shop_cat_page_price} - Цена товара (если открыта страница товара)
{HOTENGINE-SC:shop_cat_page_title} - Наименование товара
{HOTENGINE-SC:shop_cat_page_video} - Video URL (ссылка на Видео)
{HOTENGINE-SC:pers_shop_cat_val_name} - Наименование категории магазина (только внутри категории и кнопке в списке подкатегорий)
{HOTENGINE-SC:pers_shop_cat_val_title} - Заголовок категории магазина (только внутри категории и кнопке в списке подкатегорий)
{HOTENGINE-SC:pers_shop_cat_val_id} - ID категории магазина (только внутри категории и кнопке в списке подкатегорий)
{HOTENGINE-SC:shop_cat_producer_val_name} - Наименование категории производителя (только внутри категории и кнопке в списке подкатегорий)
{HOTENGINE-SC:shop_cat_producer_val_id} - ID категории производителя (только внутри категории и кнопке в списке подкатегорий)
{HOTENGINE-SC:shop_cat_collection_val_name} - Наименование категории коллекции (только внутри категории и кнопке в списке подкатегорий)
{HOTENGINE-SC:shop_cat_collection_val_id} - ID категории коллекции (только внутри категории и кнопке в списке подкатегорий)
{HOTENGINE-SC:blog_cat_val_name} - Наименование категории каталога статей (только внутри категории и кнопке в списке подкатегорий)
{HOTENGINE-SC:blog_cat_val_id} - ID категории каталога статей (только в кнопке категории)
{HOTENGINE-SC:blog_cat_page_id} - ID статьи (только в каталоге статей)
{HOTENGINE-SC:blog_cat_page_title} - Заголовок статьи (только в каталоге статей)
{HOTENGINE-SC:blog_cat_val_id} - ID категории каталога статей (только внутри категории и кнопке в списке подкатегорий)
Например, вы можете использовать данный код для отображения имени авторизированного пользователя на сайте:
Code: html |
<span class="user_login_name">Добро пожаловать {HOTENGINE-SC:user_login}</span> |
Или вы можете использовать данный код для создания Meta данных для социальных сетей (например разметка Open Graph):
Code: html |
<meta property="og:image" content="{HOTENGINE-SC:shop_cat_page_image}"/> <meta property="og:title" content="{HOTENGINE-SC:shop_cat_page_title}> |
Пример создания ссылки на профиль авторизированного пользователя:
Code: html |
https://hotlist.biz/{HOTENGINE-SC:lang}/users.php?p=user_profile&action=userprofile&userid={HOTENGINE-SC:user_id} |
Пример ↓
Code: html |
<script type="text/javascript" src="/modules/jquery.cookie/jquery.cookie.min.js"></script> <script type="text/javascript"><!-- //функция определения GET переменных из адресной строки function getParameterByName($from,$name){ var match = RegExp('[?&]' + $name + '=([^&]*)').exec($from); return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); } $(function(){ //при обнаружении sort_by начинаем запись массива с данными, GET переменными сортировки сайта var $from = window.location.href; if(getParameterByName($from,"sort_by")!=undefined){ var $hotengine_cookie_conv_to_get = [ {'sort_by': getParameterByName($from,"sort_by") }, {'order_by': getParameterByName($from,"order_by") }, {'order_by_param': getParameterByName($from,"order_by_param") }, {'shop_new_goods': getParameterByName($from,"shop_new_goods") }, {'shop_sale': getParameterByName($from,"shop_sale") }, {'shop_bestsellers': getParameterByName($from,"shop_bestsellers") }, {'shop_discount': getParameterByName($from,"shop_discount") }, {'shop_reduced_price': getParameterByName($from,"shop_reduced_price") }, {'sort_instock_priority': getParameterByName($from,"sort_instock_priority") }, {'price_from': getParameterByName($from,"price_from") }, {'price_to': getParameterByName($from,"price_to") }, {'NUM_ONPAGE': getParameterByName($from,"NUM_ONPAGE") }, {'smart_search': getParameterByName($from,"smart_search") }, {'search': getParameterByName($from,"search") }, ]; //записываем Cookie с данными в JSON формате $.cookie("hotengine_cookie_conv_to_get", JSON.stringify($hotengine_cookie_conv_to_get), {expires: 365, path: "/"}); } // для удаления Cookie используйте $.cookie("hotengine_cookie_conv_to_get", null, {expires: 0, path: "/"}); }); //--> </script> |
В результате, если посетитель сортирует товары, то из адресной строки вынимаются данные «sort_by», «order_by», «NUM_ONPAGE» и другие. Данные записываются в Cookie в json формате. После чего при открытии страниц в дальнейшем, сайт при обнаружении Cookie «hotengine_cookie_conv_to_get», конвертирует имена (индексы) массива, в GET переменные с соответствующими индексами и значениями. Таким образом выбрав сортировку сайта один раз, посетитель будет видеть ее до тех пор, пока Cookie не будет изменен.
hotengine-script-sort-shop-products.js
Один из способов реализации многоязычных сайтов, это тег с атрибутом hreflang. Пример такого тега:
<link rel="alternate" hreflang="lang_code" href="url_of_page" />
На разных страницах сайта (категориях, страницах, статьях, карточках товаров и других) реализована функция многоязычноcти. Например, если у вас добавлена карточка товара на Английском, Белорусском, Русском и Украинском языках, то достаточно во всех карточках товаров в ячейке «Товар на других языках» указать одинаковое значение, например - «1». В таком случае, при открытии страницы на одном из языков, будут добавлены теги hreflang со ссылками на страницы, на других языках. Рекомендуется использовать ID первой карточки товара, для избежания дублирования значений и последующих ошибок. Например, если вы добавили товар «Кроссовки», с ID «12345» , то добавляя аналогичный товар на Английском языке, укажите в пункте «Товар на других языках» - «12345».
Основной выбранный язык сайта будет помечен дополнительным тегом hreflang="x-default".
Для созданий рубрик каталога статей или магазина, рекомендуем использовать приставку языка. Например, рубрику «dress», можно создать на других языках, используя приставку «dress_ua», «dress_de», «dress_fr»…
Использовать одинаковый путь к рубрике на других языках возможно, но при импорте данных, например, товара, могут возникнуть ошибки, так как платформа не сможет распознать язык рубрики, в которую он добавляется. Поэтому мы рекомендуем использовать приставки в разделах с рубриками, каталоге статей и интернет-магазине. При использовании языковых приставок как описано выше, переменная «Категория на других языках» будет установлена автоматически.
При создании карточек товара, «Код товара» должен быть уникальным, потому на другом языке можно использовать, например, собственные окончания «SKU/CODE_EN». Если указан «Товар на другом языке», то при изменении основных данных (стоимость, наличие, новинка, хит продаж, доступ), так же будут обновлены все каточки товара указанные как альтернативная версия основного товара.
«Поисковый фильтр» и «Блоки/меню» можно использовать одновременно и для всех языков, и отдельно указать язык на котором его отображать. Например, создайте «Блоки/меню», Шапку сайта, и расположите на всех страницах, указав язык «Русский (ru)». Такой блок будет отображаться везде, только если открыта Русская версия сайта. Таким же образом можно создать шапку и для других языков. Если вам необходимо разместить какой-то код, то не обязательно создавать такой «Блоки/меню» для каждого языка, достаточно указать язык «All (Все)», и блок будет отображаться не зависимо от выбранного посетителем языка.
Префикс языка на платформе Hotlist.biz указывается в начале, например, «/ru/page.htm».
Экспортируйте «Категории магазина». Замените значение «ПРЕДУДУЩЕНГО» языка в ячейке язык, на значение «НОВОГО» языка, а также выполните перевод названий и описаний (например при помощи сервиса Google Translate для документов, предварительно сохранив файл в XLSX). При этом «Язык» всех дочерних категорий будут такими же, как язык основной категории, в которую они добавляются. Поэтому для главной категории (родитель которой является - «main») важно заменить значение ячейки «Язык» на «НОВЫЙ ЯЗЫК». Для устранения возможных ошибок при последующем импорте товаров, рекомендуем использовать уникальные имена, или добавлять в «имя» новых категория «_НОВЫЙЯЗЫК». Например, «category_en», где «en» - новый добавляемый язык.
Перед выполнением импорта необходимо сохранить файл в формате «XLS» или «CSV». После выполнения импорта, проверьте, чтобы язык новых категорий был подходящим. Если по какой-то причине указан не верный язык, то замените язык главной категории вашего каталога, в которую они добавлены, в разделе «Магазин» - «Категории магазина». Для всех дочерних подкатегорий язык так же будет заменен. Если категорий не много, то можно скопировать категории, заменив в них язык и наименование, в разделе «Магазин» - «Категории магазина».
Выполните импорт, В разделе «Магазин» - «Импорт товаров». Быстро заполнить соответствие ячеек вы можете нажав «Поля из файла, укажите соответствие» - «Заполнить выбор полей соответствий согласно файлу экспорта (поля «Выгрузить все»)».
Кроме того, для создания корректной разметы для поисковиков, а также переадресации между товарами на разных языках, в товарах основного языка, выполните экспорт и повторный импорт, скопировав значение ячейки «ID» в столбец «Товары на других языка». (При этом можно импортировать только одну ячейку «Товар на других языках» и указать ID или «Код товара», по которым будут найдены товары для перезаписи). Таким образом и новые и ранее созданные товары будут иметь идентичные значения «Товар на других языках».
Код из примера ниже, формирует кнопку перехода на альтернативные языки, при этом если к странице/статье/карточке товара указана альтернативная языковая версия, то она будет задействована.
1)Вставьте код Css в Редактор дизайна, во вкладку CSS.
2)Добавьте JavaScript в блок/меню, отображаемый на всех страницах.
3)Вставьте код выпадающего списка языков в блок/меню, в котором хотите его расположить, например в шапку сайта.
4)Удалите из блока не нужные языка (class hotengine-shop-select-language-val)
Код меню выбора языка:
Code: html |
<span class="hotengine-shop-select-language-box"> <span class="hotengine-shop-select-language" data-lang="ru"></span> <span class="hotengine-shop-select-language-values"> <a class="hotengine-shop-select-language-val" data-lang="be"></a> <a class="hotengine-shop-select-language-val" data-lang="de"></a> <a class="hotengine-shop-select-language-val" data-lang="en"></a> <a class="hotengine-shop-select-language-val" data-lang="es"></a> <a class="hotengine-shop-select-language-val" data-lang="fr"></a> <a class="hotengine-shop-select-language-val" data-lang="kk"></a> <a class="hotengine-shop-select-language-val" data-lang="pl"></a> <a class="hotengine-shop-select-language-val" data-lang="ru"></a> <a class="hotengine-shop-select-language-val" data-lang="uk"></a> </span> </span> |
CSS стили:
Code: CSS стиль |
/*LANGUAGE BLOCK*/ .hotengine-shop-select-language-box { display:inline-block; width:71px; height:auto; overflow:hidden; border:1px solid transparent; line-height:30px; position:relative; z-index:1000; } .hotengine-shop-select-language { display:block; width:100%; text-align:center; cursor:pointer; } .hotengine-shop-select-language-values { display:block; width:100%; vertical-align: top; position:absolute; background:rgba(255, 255, 255, 0.80); } .hotengine-shop-select-language-box:hover{ overflow:visible;} .hotengine-shop-select-language-values:hover .hotengine-shop-select-language-val{ position:relative; } .hotengine-shop-select-language-val { width:auto; display:block; margin:0px; vertical-align:top; cursor:pointer; text-align:center; color:inherit; text-decoration:none; } .hotengine-shop-select-language-val:hover {background:inherit;color:inherit;} .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="ru"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="ru"]:after { content: "RU"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="en"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="en"]:after { content: "EN"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="uk"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="uk"]:after { content: "UA"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="de"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="de"]:after { content: "DE"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="es"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="es"]:after { content: "ES"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="fr"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="fr"]:after { content: "FR"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="kk"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="kk"]:after { content: "KK"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="be"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="be"]:after { content: "BE"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="ro"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="ro"]:after { content: "RO"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="tr"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="tr"]:after { content: "TR"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="it"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="it"]:after { content: "IT"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="sk"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="sk"]:after { content: "SK"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="da"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="da"]:after { content: "DA"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="pl"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="pl"]:after { content: "PL"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="zh"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="zh"]:after { content: "ZH"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="hi"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="hi"]:after { content: "HI"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="ar"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="ar"]:after { content: "AR"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="pt"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="pt"]:after { content: "PT"; } .hotengine-shop-select-language-box .hotengine-shop-select-language[data-lang="bn"]:after, .hotengine-shop-select-language-box .hotengine-shop-select-language-val[data-lang="bn"]:after { content: "BN"; } /*LANGUAGE BLOCK*/ |
Файл автоматически загружается на сайте, если указаны доступные Языки:
Code: JavaScript |
<script type="text/javascript" src="/templates/scripts/hotengine-script-language.js"></script> |
Содержание файла
Текст разделен при помощи родительского lang атрибута у элемента html.
Пример:
html:lang(ru) .hotengine-form-feedback-yourname-title:after{ content:"Ваше имя:"; }
html:lang(en) .hotengine-form-feedback-yourname-title:after{ content:"Your name:"; }
html:lang(uk) .hotengine-form-feedback-yourname-title:after{ content:"Ваше ім'я:"; }
html:lang(de) .hotengine-form-feedback-yourname-title:after{ content:"Ihr name:"; }
html:lang(es) .hotengine-form-feedback-yourname-title:after{ content:"Su nombre:"; }
html:lang(fr) .hotengine-form-feedback-yourname-title:after{ content:"Votre nom:"; }
html:lang(kk) .hotengine-form-feedback-yourname-title:after{ content:"Сіздің атыңыз:"; }
html:lang(be) .hotengine-form-feedback-yourname-title:after{ content:"Ваша імя:"; }
html:lang(ro) .hotengine-form-feedback-yourname-title:after{ content:"Numele dvs.:"; }
html:lang(tr) .hotengine-form-feedback-yourname-title:after{ content:"Adınız:"; }
html:lang(it) .hotengine-form-feedback-yourname-title:after{ content:"Il tuo nome:"; }
html:lang(sk) .hotengine-form-feedback-yourname-title:after{ content:"Vaše meno:"; }
html:lang(da) .hotengine-form-feedback-yourname-title:after{ content:"Dit navn:"; }
html:lang(pl) .hotengine-form-feedback-yourname-title:after{ content:"Twoje imię:"; }
html:lang(zh) .hotengine-form-feedback-yourname-title:after{ content:"你的名称:"; }
html:lang(hi) .hotengine-form-feedback-yourname-title:after{ content:"आपका नाम:"; }
html:lang(ar) .hotengine-form-feedback-yourname-title:after{ content:"اسمك:"; }
html:lang(pt) .hotengine-form-feedback-yourname-title:after{ content:"Seu nome:"; }
html:lang(bn) .hotengine-form-feedback-yourname-title:after{ content:"আপনার নাম:"; }
Каким образом можно перевести весь сайта?
Создавая многоязычный сайт, укажите язык в создаваемом контенте (странице, меню, категории... )
И используйте пути с указанием языка в начале, /ru/ /en/ ...
Основным языком будет тот, который указан при регистрации сайта.
При добавлении товаров, язык определяется в соответствии с рубрикой в которую он добавляется.
Большинство элементов на сайте вы можете заменять при помощи CSS стилей и псевдоэлементов.
Надписи о количестве товаров
html:lang(ru).hotengine-shop-product-price_for-lang-1:after{ content:"за 1 шт";}
Заменяйте число, lang-1, где 1 означает выбранную единицу измерения, а (ru) - язык.
Список значений:
- 1 - 1 шт;
- 2 - 100 шт;
- 3 - 1000 шт ;
- 4 - за 1 упаковку ;
- 38 - за 100 грамм;
- 5 - 1 кг;
- 6 - 1000 кг ;
- 39 - 1 фунт;
- 7 - 1 м2;
- 8 - за 1 метр;
- 9 - за 1 км;
- 10 - за комплект;
- 11 - за 1 час;
- 12 - за 1 день;
- 13 - за 1 месяц;
- 14 - за 1 год;
- 15 - за сотку;
- 16 - за Акр;
- 17 - за Гектар;
- 18 - за участок;
- 19 - за объект;
- 30 - за 1 мл;
- 31 - за 1 л;
- 32 - за 1 км3;
- 33 - за 1 м3;
- 34 - за 1 дм3;
- 35 - за 1 см3;
- 36 - за 1 mm3;
- 37 - за 1 hl;
Code: JavaScript |
<script> $(document).ready(function(){ $("#hotengine-shop-cart-form .hotengine-form-submit input[type='submit']").val('Отправить заказ'); }); </script> |
Подробнее ... ↓
Перевод осуществляется при помощи инструмента Перевод значений характеристик.
Кроме того, вы можете выполнить перевод при помощи JavaScript. Однако в при таком переводе XML выгрузка характеристик на MarketPlac'ы будет на одном языке.
Например, рассмотрим перевод с Английского на Русский.
Показать ↓
Создайте «Блок/Меню» и разместите его на страницах, где включен поисковый фильтр.
Например в пункте «Введите символы, при обнаружении которых отображать Блок/Меню:» укажите:
/ua/shop/
/ua/pers_shop/
Пример перевода строк, а также кнопки «Применить».
Code: js |
<script> $(function(){ var $dict = { 'Color': 'Цвет', 'Blue': 'Голубой', 'Green': 'Зеленый', 'Black': 'Черний' } $.each($dict, function(txtorig, txtnew){ $("#shop_catalog_product_types_id_ajax .product_types_valuebox_checkbox span:contains('"+txtorig+"')").html(txtnew); $("#shop_catalog_product_types_id_ajax .shop_catalog_product_types_block_title:contains('"+txtorig+"')").html(txtnew); $(".shop_catalog_product_properties_block .shop_catalog_product_types_block_title:contains('"+txtorig+"')").html(txtnew); $(".shop_catalog_product_properties_block .product_types_valuebox_checkbox:contains('"+txtorig+"')").html(txtnew); }); setTimeout(() => { $(".hotengine-smart_search_submit_button").find("input").val("Apply"); $("#searchinp_smart_search .button").val("Apply"); }, 100); }); </script> |
Пример перевода с перезаписью слов:
Code: js |
<script> $(function(){ var $dict = { 'Color': 'Цвет', 'Blue': 'Голубой', 'Green': 'Зеленый', 'Black': 'Черний' } $.each($dict, function(txtorig, txtnew){ $("#shop_catalog_product_types_id_ajax").html(function() { return $(this).html().replace(txtorig, txtnew); }); }); }); </script> |
Аналогично, вы можете добавить другие языки и новые слова, размещая код на соответствующие языковые версии сайта.
Как изменить надписи в таймере?
При помощи CSS стилей можно заменить слова в таймере. Для этого, например, в товаре вставьте css html код:
Code: css |
<style type="text/css"> <!-- /*надпись осталось до конца*/ html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-day:after{ content:"дней"; } html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-hourse:after{ content:"часов"; } html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-minute:after{ content:"минут"; } html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-seconds:after{ content:"секунд"; } html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-left:after{ content:"осталось до конца акции!"; } html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-done:after{ content:"Акция завершена!"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-day:after{ content:"days"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-hourse:after{ content:"hours"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-minute:after{ content:"minute"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-seconds:after{ content:"seconds"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-left:after{ content:"left before the end of the campaign!"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-done:after{ content:"Сampaign complete!"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-day:after{ content:"dni"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-hourse:after{ content:"godziny"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-minute:after{ content:"minuty"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-seconds:after{ content:"sekundy"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-left:after{ content:"pozostało do końca promocji!"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-done:after{ content:"Ackia ukończona!"; } html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{ content:"дней"; } html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{ content:"часов"; } html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{ content:"минут"; } html:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{ content:"секунд"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{ content:"days"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{ content:"hours"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{ content:"minute"; } html:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{ content:"seconds"; } html:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{ content:"днів"; } html:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{ content:"годин"; } html:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{ content:"хвилин"; } html:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{ content:"секунд"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{ content:"dni"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{ content:"godziny"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{ content:"minuty"; } html:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{ content:"sekundy"; } --> </style> |
lang(en) или lang(ru) - это язык для которого будет соответствующая надпись, а далее задан сам блок для которого изменить надпись.
Как использовать Таймер на других страницах? Вставьте следующий код, для использования нашего счетчика обратного отсчета:
Code: js |
<div id="hotengine-shop-product-description-akciya-countdown-block"><div id="hotengine-shop-product-description-akciya-countdown"></div><div class="hotengine-shop-product-akciya-countdown-numbers"><span class="hotengine-shop-product-akciya-countdown-numbers-days"><i></i></span><span class="hotengine-shop-product-akciya-countdown-numbers-hours"><i></i></span><span class="hotengine-shop-product-akciya-countdown-numbers-minutes"><i></i></span><span class="hotengine-shop-product-akciya-countdown-numbers-seconds"><i></i></span></div><span class="hotengine-shop-product-description-akciya-countdown-l-left"></span></div> <script type="text/javascript" src="/modules/jquery.cookie/jquery.cookie.min.js"></script> <link rel="stylesheet" type="text/css" href="/templates/javascript_timer_countdown/hotengine_timer_countdown.css" /> <script src="/templates/javascript_timer_countdown/hotengine_timer_countdown.js"></script> <script type="text/javascript"> <!-- $(function(){ var timerperiod = 5*12*60*60*1000; // период таймера, в примере 5 дней 12 часов ( 5*12 ...) (для примера тут дата постоянно смещается, т.е. текущая дата + ХХ дней.) // cookies последний визит (отнять время последнего визита) if($.cookie("cookie_lastvisit_countdown_timer") && $.cookie("cookie_lastvisit_countdown_timer")!="null"){ var cookie_lastvisit_minus = (new Date()).getTime() - $.cookie("cookie_lastvisit_countdown_timer"); } else { var cookie_lastvisit_minus = 0; } var checkdate = timerperiod-cookie_lastvisit_minus; // для проверки даты последнего визита и окончания акции if(checkdate>0){ counterdisable = false; } else { var cookie_lastvisit_minus = 0; counterdisable = true; }; var cookie_lastvisit_countdown_timerv = new Date().getTime() - cookie_lastvisit_minus; $.cookie("cookie_lastvisit_countdown_timer", cookie_lastvisit_countdown_timerv, {expires: null, path: "/"}); // cookies последний визит (отнять время последнего визита) ts = (new Date()).getTime() + timerperiod - cookie_lastvisit_minus; // устанавливаем дату окончания акции hotengine_inittimer("hotengine-shop-product-description-akciya-countdown-block", new Date(ts)); }); //--> </script> |
Что бы изменить надписи счетчика, откройте файл стиля /templates/javascript_timer_countdown/hotengine_timer_countdown.css, скопируйте его код, и вставив на страницу измените надписи.
Основные блоки сайта
ID и Class'ы основных блоков сайта.#hotengine-wrapper
#hotengine-header
#hotengine-footer
|
* - Основной внутренний блок с контентом реализован при помощи CSS Grid:
CSS Grid ↓
Code: CSS |
/*CONTENT GRID*/ #hotengine-content-container { display: grid; grid-template-areas:"container-left container-center container-right"; grid-template-columns:0% 1fr 0%; margin:0 auto; width:100%; } #hotengine-content-container[data-hasside="both"]{ grid-template-areas:"container-left container-center container-right"; grid-template-columns: auto 1fr auto; } #hotengine-content-container[data-hasside="left"]{ grid-template-areas:"container-left container-center"; grid-template-columns: auto 1fr; } #hotengine-content-container[data-hasside="right"]{ grid-template-areas:"container-center container-right"; grid-template-columns: 1fr auto; } .hotengine-wrap-container-side-center { grid-area: container-center; vertical-align:top; margin:0 auto; width:100%;} .hotengine-wrap-container-side-left { grid-area: container-left; vertical-align:top; margin:0 auto; width:auto; max-width:270px; } .hotengine-wrap-container-side-right { grid-area: container-right; vertical-align:top; margin:0 auto; width:auto; max-width:270px; } .menu_position_top { display:block; width:100%; } .menu_position_buttom { display:block; width:100%; } @media (max-width:767px){ #hotengine-content-container[data-hasside="both"]{ grid-template-areas:"container-center container-left container-right"; grid-template-columns: 1fr auto auto; } #hotengine-content-container[data-hasside="left"]{ grid-template-areas:"container-center container-left"; grid-template-columns: 1fr auto ; } #hotengine-content-container[data-hasside="right"]{ grid-template-areas:"container-center container-right"; grid-template-columns: 1fr auto ; } } /*CONTENT GRID*/ |
data-hasside - дополнительный атрибут элемента #hotengine-content-container, который сообщает о наличии левого и правого блока.
- [data-hasside="left"] - присутствует левый блок/меню
- [data-hasside="right"] - присутствует правый блок/меню
- [data-hasside="both"] - присутствует левый и правый блок/меню
Внутри данных блоков будет располагаться созданный вами контент, или меню.
Каждый «тип страницы» выделен соответствующим блоком, с присвоением определенного ID.
Например:
- Страницы - #hotengine-content-page
- Новости - #hotengine-content-news
- Каталог статей - #hotengine-content-blog
- Каталог товаров - #hotengine-content-shop
- Каталог товаров (производители) - #hotengine-content-shop
- Каталог товаров (коллекции) - #hotengine-content-shop
Данный блок создается внутри элемента #hotengine-content
Кроме того, на страницах категорий, где есть дочерний список страниц, добавляется class:
- Каталог товаров - .hotengine-content-shop-category
- Каталог товаров (коллекции) - .hotengine-content-shop-collection
- Каталог товаров (производителии) - .hotengine-content-shop-producer
- Каталог статей - .hotengine-content-blog-category
- Каталог новостей - .hotengine-content-news-category
Кроме того, для Блоков/Меню списка новостей или статей, создается дополнительный блок:
Меню последних статей - #hotengine-content-menu-lastblogpost
Меню последних новостей #hotengine-content-menu-lastnewspost
При помощи указателя мыши вы можете изменить высоту шапки сайта, размер логотипа, положение главного меню и слогана.
Как создать собственный дизайн Шапки сайта?
Создайте Блок/Меню с расположение в Header (Шапке сайта) и разместите в нем необходимые элементы. Например, Div с телефоном, и Div с надписью о компании (не забудьте присвоить им соответствующий class или id, для последующего обращения к ним по заданным значениям).
Откройте редактор дизайна, задайте положение и свойства дизайна к созданным элементам в CSS стилях.
Таким же образом можно создавать любые графические элементы на сайте и располагать их в нужных вам местах.
Если вы используете подключаемый шаблон, то его стили имеют меньший приоритет, чем некоторые из указываемых выше значения. Перед использованием подключаемого шаблона, рекомендуем сначала вернуть значение дизайна по умолчанию.
Css стили по умолчанию: CSS файл Основные блоки сайта
Если смещение и позиционирование элементов не удается сделать при помощи CSS, то вы можете использовать Javascript и перемещать объекты по странице.
Изменение положения некоторых элементов при помощи Javascript.
Code: html |
<script type="text/javascript"> $(function(){ var newproducer = $(".hotengine-shop-product-desc-block .hotengine-shop-product-producer").html(); if(typeof newproducer !== typeof undefined && newproducer !== false && newproducer !='undefined' && newproducer !=''){ $(".hotengine-shop-product-desc-block .hotengine-shop-product-producer").hide(); $(".hotengine-shop-product-sku-box").after('<span class="hotengine-shop-product-producer">'+newproducer+'</span>'); } }); </script> |
В данном примере мы проверяем, указан ли производитель. Если производитель указан, то скрыть его и разместить после поля "Код товара".
"Обертывание" элементов при помощи Javascript.
Code: html |
<script type="text/javascript"> $(function(){ $(".element").wrap("<div class='new'></div>"); }); </script> |
В результате объект с классом element будет "обернут" в div с классом new (<div class="new"><span class="element"></span></div>)
Каталог шаблонов - https://templates.hotlist.biz/
Вы можете включить отслеживание посетителей при помощи Google Analytics на странице Настройки, во вкладке Статистика/Google Analytics.
При использовании тегов отслеживания будут передаваться стандартные события электронной коммерции для Google Analytics 4 или Google Tag Manager. Кроме того, на странице оформления заказа или отправки формы можно дополнительно установить собственные коды конверсии.
Описания событий:
Google Analytics 4: https://developers.google.com/gtagjs/reference/ga4-events?hl=ru
Google Tag Manager: https://developers.google.com/tag-manager/ecommerce-ga4?hl=ru
Кроме того, вы сможете реализовать передачу собственных тегов, используя JavaScript, Короткие коды и Микроразметку hotengine-markers, которые позволяют заменять динамические данные.
- add_to_cart – добавление товара в корзину
- add_to_wishlist – добавление товара в избранные
- begin_checkout – начало оформления заказа
- purchase – успешное оформление заказа
- remove_from_cart – удаление товара из корзины
- search – поиск по сайту
- select_item – выбор разновидности товара
- generate_lead – отправка данных через форму
- sign_up - регистрация
- view_cart – просмотр корзины
- view_item – просмотр карточки товара
Допоплнительнные переменные:
- Тип страницы - ecomm_pagetype
- Идентификатор продукта - ecomm_prodid
- Общая стоимость товаров - ecomm_totalvalue
Идентификатор отслеживания Facebook Pixel можно указать в общих настройках сайта, во вкладке «Статистика». Пиксель будет передавать данные о посещении страниц (PageView), события добавления товара в корзину (AddToCart), просмотр товара (ViewContent), начало (InitiateCheckout) и завершение оформления заказа (Purchase). Стоимость товара формируется в USD по курсу вашего сайта.
Кроме того, вы можете создать блок меню для генерации пикселя с данными о товаре самостоятельно.
Инструкция ↓
Внимание! При создании кода пикселя не через настройки сайта, обязательно нужно предварительно добавлять основной код пикселя. Для этого создайте блок/меню с основным кодом пикселя и расположите в служебных тегах, отображаемом на всех страницах. При этом в общих настройках сайта, код пикселя указывать не нужно. Если код пикселя в основных настройках указан, то код Products Merchant Facebook на сайте уже установлен.
Блок меню для генерации пикселя с данными о товаре
Создайте блок/меню со следующим кодом:
Code: |
<script> fbq('track', 'ViewContent', { content_name: '{HOTENGINE-SC:shop_cat_page_title}', content_ids: ['{HOTENGINE-SC:shop_cat_page_id}'], content_type: 'product', value: {HOTENGINE-SC:shop_cat_page_price}, currency: '{HOTENGINE-SC:shop_cat_page_currency_iso}' }); </script> |
Показывать Блок/Меню на страницах:Только на страницах Магазина
Введите символы, при обнаружении которых отображать Блок/Меню:htm
Введите символы, при обнаружении которых не отображать Блок/Меню:cart
Если необходимо добавить событие после отправки заявки через Форму, то после текста об успешной отправки данных добавьте следующий код:
Code: html |
<script> fbq('track', 'Purchase'); </script> |
- На сайте доступно использование Реферальных хвостов. При заказе товаров или отправке письма через обратную связь, к письму будут добавлены данные об источнике перехода на ваш сайт. Так же при использовании UTM окончаний (Компоновщик URL) эти данные будут добавлены к письму.
Кроме стандартных данных компоновщика доступно разделение источника по группам, которые используются в статистике продаж для разделения источников и более удобного подсчета конверсий. Значение группы можно задать при помощи GET переменно "hotengine_referral_group". Если значение не указано, и указан utm_source, то оно будет использовано для указания группы hotengine_referral_group.
Данные об источнике перехода могут быть скрыты настройками браузера посетителя или при помощи защищенного протокола сайта источника. Кроме того вы можете дополнительно группировать заказы при помощи переменной "shop_cart_statistic_group" в ссылке, или вручную после оформления заказа.
Включить Реферальные хвосты вы можете на странице Настройки, во вкладке Статистика.
Пример ссылки с UTM разметкой:
https://hotlist.biz/?utm_source=google&utm_medium=cpc&utm_term=slova&utm_content=soderjimoe&utm_campaign=nazvnie
Пример ссылки с авторазметкой Яндекс Директ, и UTM разметкой:
https://hotlist.biz/?utm_source=yandex_{source_type}&utm_medium=cpc&utm_term={keyword}&utm_campaign=id:{campaign_id}&utm_content=ad:{ad_id}|gbid:{gbid}|phrase:{phrase_id}|param1:{param1}|position_type:{position_type}|position:{position}|source:{source}|source_type:{source_type}|param2:{param2}
Полная инструкция
Пример ссылки с авторазметкой Goolge Adwords, и UTM разметкой:
https://hotlist.biz/?utm_source=google_adwords_{network}&utm_medium=cpc&utm_term={keyword}&utm_campaign={campaignid}&utm_content=creative:{creative}|from:{ifsearch:search}{ifcontent:content}|matchtype:{matchtype}|adgroupid:{adgroupid}|feeditemid:{feeditemid}|targetid:{targetid}|device:{device}|adposition:{adposition}|placement:{placement}|network:{network}|param1:{param1}|param2:{param2}
Полная инструкция
На указанный адрес будет отправляться POST запрос, со всеми данными о заказе, в том числе и контактные данные заказчика, и перечень товаров. Контактные данные и информация о заказе будет передаваться в JSON формате, POST запросом.
Например, в 1с вы можете реализовать прием заказов через «HTTP сервис»->«SiteExchange» -> «POSTData»
После оформления заказа, на указанный выше адрес будет отправлен POST запрос, со следующими данными:
Code: JSON |
array ( 'ORDER' => array ( 'form_name' => 'NAME', 'form_soname' => 'SONAME', 'form_phone' => 'PHONENUMBER123', 'form_email' => 'email@email.com', 'add_info_addres' => 'FLAT', 'form_address' => 'ADDRESS', 'form_delivery_select' => 'Extend ADDRESS (Selected)', 'form_delivery_select_storehouse' => 'Extend PICKUP POINT (Selected)', 'form_address1' => 'Extend ADDRESS (Region)', 'form_address2' => 'Extend ADDRESS (City)', 'form_address3' => 'Extend ADDRESS (Street)', 'form_address4' => 'Extend ADDRESS (Home number)', 'form_address5' => 'Extend ADDRESS (Flat)', 'form_address6' => 'Extend ADDRESS (Branch number)', 'form_text' => 'ADD TEXT', 'post' => '1596538754', 'lang' => 'ru', 'form_delivery' => '', 'form_delivery_country_code' => '', 'order_id' => 'XXXXX', 'user_id' => XXXX, 'order_discount' => '', 'order_hash' => '55d4ed2ed42b2c116d9927c2b2ce7fef', 'time' => 1596538769, 'delivery' => '', 'delivery_id' => 0, 'abtesting' => 0, 'referral_group' => '', 'group' => '', 'referral_url' => 'https://hotlist.biz/....', 'referral_utm' => '', 'site_id' => '10954', 'site_url' => 'hotlist.biz', 'transaction_id' => 'XXXXX', 'value' => 2264, 'currency' => 'UAH', 'shipping' => '0', 'items' => array ( 0 => array ( 'id' => '284430', 'name' => 'Кроссовки Adidas Originals Streetball FX9701 (42)', 'sku' => '200976_42', 'sku_parent' => '200976', 'variant' => '42 ', 'category' => 'sport_shoes', 'quantity' => '1', 'price' => '686', 'currency' => 'UAH', 'complectation_id' => '409151', ), 1 => array ( 'id' => '284436', 'name' => 'Сумка для обуви с карманом Kite Education College', 'sku' => '200982', 'sku_parent' => '200982', 'variant' => '', 'category' => 'bags_for_shoes', 'quantity' => '1', 'price' => '736', 'currency' => 'UAH', 'complectation_id' => 0, ), 2 => array ( 'id' => '284438', 'name' => 'Кроссовки ASICS Gel-Venture 8 Gs (43)', 'sku' => '200984_43', 'sku_parent' => '200984', 'variant' => '43 ', 'category' => 'sport_shoes', 'quantity' => '1', 'price' => '842', 'currency' => 'UAH', 'complectation_id' => '409154', ), ), ), ) |
Если после отправки запроса, ваш сервис вернет JSON данные, с содержанием «Number» или «crm_order_id», то к заказу будет добавлен внешний номер заказа.
На указанный адрес будет отправляться POST запрос, со всеми данными о заказе, которые изменяются в Статистике продаж. Информация будет передаваться POST запросом в JSON формате.
Например, в 1с вы можете реализовать прием заказов через «HTTP сервис»->«SiteExchange» -> «POSTData»
Кроме того вы можете включить внешний доступ к вашей статистике, указав «Ключ для доступа к статистике продаж».
После изменения статуса заказа (кроме быстрого редактирования статусов), на указанный выше адрес будет отправлен POST запрос в JSON формате, со следующими данными:
Code: JSON |
array ( 'ORDER' = array ( 'shop_cart_statistic_crm_order_id' = '123', 'shop_cart_statistic_product_price' = '2264', 'shop_cart_statistic_product_currency' = '5', 'shop_cart_statistic_discount' = '', 'shop_cart_statistic_discount_before' = '', 'shop_cart_statistic_product_price_before' = '2264', 'shop_cart_statistic_product_currency_before' = '5', 'shop_cart_statistic_selldone_datestump_unsted' = '0', 'shop_cart_statistic_selldone' = '0', 'shop_cart_statistic_status_pay' = '0', 'shop_cart_statistic_allow_online_pay' = '0', 'shop_cart_statistic_selldone_from_seller' = '0', 'shop_cart_statistic_delivery_status' = '0', 'shop_cart_statistic_products_preview' = '', 'shop_cart_statistic_admin_note' = '', 'shop_cart_statistic_delivery_selected_id_before' = '3482', 'shop_cart_statistic_delivery_selected_id' = '3482', 'shop_cart_statistic_delivery_track_id' = '', 'shop_cart_statistic_delivery_track_id_link' = '', 'shop_cart_statistic_byer_name' = 'NAME SONAME', 'shop_cart_statistic_byer_phone' = 'PHONENUMBER123', 'shop_cart_statistic_byer_address' = 'ADDRESS', 'shop_cart_statistic_byer_address_eform0' => 'Extend ADDRESS (Selected)', 'shop_cart_statistic_byer_address_eform1' => 'Extend ADDRESS (Region)', 'shop_cart_statistic_byer_address_eform2' => 'Extend ADDRESS (City)', 'shop_cart_statistic_byer_address_eform3' => 'Extend ADDRESS (Street)', 'shop_cart_statistic_byer_address_eform4' => 'Extend ADDRESS (Home number)', 'shop_cart_statistic_byer_address_eform5' => 'Extend ADDRESS (Flat)', 'shop_cart_statistic_byer_address_eform6' => 'Extend ADDRESS (Branch number)', 'shop_cart_statistic_byer_email' = 'email@email.com', 'shop_cart_statistic_byer_paymentmethod_selected' => 'PaymentMethod (Selected)', 'shop_cart_statistic_group' = '', 'shop_cart_statistic_referral_group' = '', 'shop_cart_statistic_referral_url' = 'http://hotlist.biz', 'shop_cart_statistic_referral_utm' = '', 'shop_cart_statistic_site_manager_id_operator_current' = '1', 'cat_page_extend_1c_exportsalestat' = 'http://hotlist.biz/', 'buyer_id' = '1', 'manager_id_operator' = '0', 'order_products' = '284430,284436,284438', 'order_products_article' = '200976_42|200982|200984_43', 'order_products_num' = '1,1,1', 'order_products_complectationid' = '409151,407678,409154', 'order_products_prices' = '686,736,842', 'order_products_currency' = 'UAH,UAH,UAH', 'order_products_titles' = 'Кроссовки Adidas Originals Streetball FX9701|Сумка для обуви с карманом Kite Education College|Кроссовки ASICS Gel-Venture 8 Gs', 'order_products_complectation_titles' = '42||43', 'order_products_prices_without_discount' = ',,', 'post' = '1596578917', 'shop_cart_statistic_product_sendto_userid' = '1', 'Сохранить' = 'Сохранить', 'order_id' = 63738, 'order_discount' = '', 'time' = 1596578927, 'delivery' = NULL, 'delivery_id' = '3482', 'referral_group' = '', 'group' = '', 'referral_url' = 'http://hotlist.biz/ru/pers_shop/sport_shoes/284438.htm', 'referral_utm' = '', 'site_url' = 'hotlist.biz', 'transaction_id' = 63738, 'crm_oder_id' = '123', 'value' = '2264', 'currency' = 'UAH', 'items' = array ( 0 = array ( 'id' = '284430', 'name' = 'Кроссовки Adidas Originals Streetball FX9701', 'sku' = '200976_42', 'variant' = '42', 'quantity' = '1', 'price' = '686', 'currency' = 'UAH', 'complectation_id' = '409151', 'price_without_discount' = '', ), 1 = array ( 'id' = '284436', 'name' = 'Сумка для обуви с карманом Kite Education College', 'sku' = '200982', 'variant' = '', 'quantity' = '1', 'price' = '736', 'currency' = 'UAH', 'complectation_id' = '407678', 'price_without_discount' = '', ), 2 = array ( 'id' = '284438', 'name' = 'Кроссовки ASICS Gel-Venture 8 Gs', 'sku' = '200984_43', 'variant' = '43', 'quantity' = '1', 'price' = '842', 'currency' = 'UAH', 'complectation_id' = '409154', 'price_without_discount' = '', ), ), ), ) |
'shop_cart_statistic_selldone' - '3', статус сделки //0 - Не обработан, 1 - Заказ в обработке, 3 - Обработан, 2 - Отменен, 5 - Отменен (Нет в наличии), 6 - Отменен (Отказ), delete - Удалить заказ
'shop_cart_statistic_status_pay' - '0', Статус заказа //0-Не указано, 1 - Оплачен онлайн, не проверен, 4 - Оплачен онлайн и проверен, 2 - Оплачен, 3 - Предоплачен, 5 - Ожидается оплата
'shop_cart_statistic_selldone_from_seller' - '1', Статус для покупателя //0 - Не обработан, 1 - Обрабатывается, 3 - Отправлен / Обработан, 2 - Отменен
'shop_cart_statistic_admin_note' - 'Примечание администратору',
'shop_cart_statistic_delivery_status' - '0', '0 - Не указано, 1 - Доставлено, 2 - Не доставлено, 3 - Ожидается отправка, 4 - Передано курьеру, 5 - В пути, 6 - Отправлено на почтовое отделение, 7 - Отправлено на адрес получателя, 8 - Доставлено на почтовое отделение, 9 - Доставлено на адрес получателя'
'shop_cart_statistic_crm_order_id' - 'XXX', 'Внешний код заказа (для использования в сторонних CRM)'
Подробнее ознакомиться с полямы вы можете в статистике продаж, при редактировании заказа.
При изменении товаров в заказе, отправляется JSON запрос с перечнем item, а также номер заказа:
Code: JSON |
array ( 'ORDER' = array ( 'order_id' = 63738, 'time' = 1596589307, 'transaction_id' = 63738, 'crm_oder_id' = '123', 'value' = 2264, 'currency' = 'UAH', 'items' = array ( 0 = array ( 'id' = '284430', 'name' = 'Кроссовки Adidas Originals Streetball FX9701', 'sku' = '200976_42', 'variant' = '42', 'quantity' = '1', 'price' = '686', 'currency' = 'UAH', 'complectation_id' = '409151', ), 1 = array ( 'id' = '284436', 'name' = 'Сумка для обуви с карманом Kite Education College', 'sku' = '200982', 'variant' = 'XX', 'quantity' = '1', 'price' = '736', 'currency' = 'UAH', 'complectation_id' = '407678', ), 2 = array ( 'id' = '284438', 'name' = 'Кроссовки ASICS Gel-Venture 8 Gs', 'sku' = '200984_43', 'variant' = '43', 'quantity' = '1', 'price' = '842', 'currency' = 'UAH', 'complectation_id' = '409154', ), ), ), ) |
Укажите ключ для доступа к статистике продаж в настройках, во вкладке «Магазин». Если вам необходимо получить доступ к статистике продаж внешним приложением, то вы можете выполнить (POST/GET или AJAX) запрос по адресу «/ajax.php?statistic_sell»
При этом необходимо указать ключ в запросе, с шифрованием MD5. Например, если у вас указан ключ «123», то в запросе это будет «202cb962ac59075b964b07152d234b70».
В таком случае запрос будет выглядеть так: «/ajax.php?statistic_sell&key=202cb962ac59075b964b07152d234b70»
В запросе можно указать данные для сортировки или поиска (GET/POST параметры), которые можно взять на вашей странице статистики продаж в админ-центре (/page.php?p=statistic_sell&mystat). Сортировка и выбор параметров осуществляется GET/POST запросом, например, «&sort_dateperiod=1week» означает, что будет отображаться статистика продаж за неделю.
Данные отображаются в JSON формате.
Обратите внимание, что если вы используете открытые для посетителей запросы странице, то при помощи вашего ключа они смогут получить доступ к вашей статистике продаж.
Укажите ключ для доступа к прайсу магазина в настройках, во вкладке «Магазин». Полная выгрузка прайса находится по адресу «/csv_export_products.csv»
При этом необходимо указать ключ в запросе, с шифрованием MD5. Например, если у вас указан ключ «123», то в запросе это будет «202cb962ac59075b964b07152d234b70».
В таком случае запрос будет выглядеть так: «/csv_export_products.csv?key=202cb962ac59075b964b07152d234b70»
В запросе можно указать данные для сортировки и выборке полей, которые можно взять на вашей странице экспорта в админ-центре (/page.php?p=submit_catalog_page&subpage&export_from_shop). Сортировка и выбор параметров осуществляется GET/POST запросом, например, «&export_product_access=export_product_access» означает, что будет выгружать поле с данными о доступе к товару.
Данные отображаются в CSV формате.
Файл выгрузки кешируется для уменьшения нагрузки и обновляется раз в сутки. Удалить кеш можно при помощи кнопки «Очистить кеш XML/CSV выгрузок».
Пример: https://blog.hotlist.biz/csv_export_products.csv?key=202cb962ac59075b964b07152d234b70
Подробнее о рекламе и способах продвижения описано на это странице https://hotlist.biz/ru/user_guide_seo.html
Рекомендуем включить "переадресацию с языковой привязкой". Данная функция помогает избежать дубликата стартовой страницы (дубликаты плохо сказывается на SEO). В связи с тем, что стартовая страница domain.com и страница с привязкой к языку domain.com/ru/ является одной и той же страницей, рекомендуем включать 301 переадресацию на страницу с привязкой к языку. Это можно сделать в Админ-центре, Настройки, Стартовая страница.
Если вы планируете использовать собственный домен, то рекомендуем вам на временном доступе ограничить доступ к сайту, а после покупки домена, открыть его.
Если вам необходимо Удалить сайт / Информацию о компании, то откройте страницу изменения информации о Сайте / Компании, и внизу установите галочку "Удалить сайт и все данные" или "Удалить сайт". Через какое-то время информация о компании / сайте, пропадет из выдачи поисковых систем.
Кеш мультимедиа файлов
Согласно рекомендациям от Поисковых систем, а также для удобства посетителей, мы Включили на вашем сайте «Сжатие данных», а также Кеширование графических файлов и JavaScripts. Срок кеширования этих файлов – одна неделя.Если вы загружаете новое изображение, поверх старого, то будете видеть старое изображение до тех пор, пока не очистится Кеш браузера. В каждом браузере предусмотрен свой способ очистки кэша. Например, в Chrome для принудительной очистки необходимо нажать «CTRL+F5» в окне браузера, на вашем сайте.
Кеш сервера
Кроме того, для ускорения работы сайтов, мы так же реализовали кеширование некоторых текстовых данных, которые очищаются автоматически при их изменении. Однако если вы изменили содержимое страницы/товара/статьи/меню, но измненеия на странице не отобразились, то необходимо принудительно очистить кеш, воспользовавшись ссылкой в админ панели «Очистить кеш», на странице, в которой не отобразились изменения.Обслуживание сайта и очистка кеша
На сайте кешируются такие данные, как «Разновидность товара», «Акции» (в т.ч. таймер), «RSS/XML/CSV» выгрузки, количество товаров в категории. Для очистки Кеша RSS/XML/CSV выберите в Админ-Панели «XML/CSV/XLS/JSON» - «Очистить кеш XML/CSV выгрузок».Для пересчета разновидностей, количества товаров в категориях и очистки кеша Акций, перейдите в «Настройки», «Магазин» и внизу списка в пункте «Пересчет товаров и категорий» выберите необходимые параметры для пересчета и обслуживания.
Данную процедуру рекомендуется делать после большого обновления данных в магазине, изменении категорий, добавлении и изменении или удалении большого количества разновидностей, добавлении и изменении категорий, переносе каточек товара в другие категории или если заканчивается срок таймера в акциях.
Администрация сайта не осуществляет торговой деятельности и не несет ответственности за качество продаваемых услуг/товаров внутри Hotlist.biz. За все размещенные товары и услуги несут ответственность пользователи, добавившие их.
Контакты: https://hotlist.biz/ru/feedback.html