Інструкції по роботі з платформою
Подсказки по работе с системой вы можете найти при раскрытии разделов для их управления, а также при наведении на иконку
При добавлении товаров на ваш сайт, вы предварительно указываете рубрику в нашем каталоге (более 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_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).
Внимание! На сайте предусмотрена возможность создавать собственные формы в автоматическом режиме, а также использовать всплывающие окна для отправки необходимых от посетителя данных. Для этого воспользуйтесь конструктором форм.
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}/ua/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}/ua/shop/?search={search}) указан ua язык, вы можете его изменить.
Пример:
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 товара. Запрос можно выполнять только при оплаченном хостинге с паркованным доменом. Данные можно использовать для реализации выдачи подсказок в поисковой форме.
Включить подсказки вы можете в «Настройках», во вкладке «Поиск» - «Включить подсказки при вводе поискового запроса».
Создаем «Тип продукта» - «Кроссовки».
«Характеристика» - указываем несколько полей, «Множественный выбор (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» в разделе «Мои блоки/Меню» - «Поисковый фильтр», либо в разделе «Мобильное меню: Приложение», во вкоадке «Поисковый фильтр».
Demo:
Value1
×
Value2
×
Demo 2:
Value 3
×
Value4
×
Например, после добавления товара в корзину вызывается функция 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);
Большинство решений вы можете реализовать при помощи скриптов (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
let 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 !=''){
let 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.
Кроме того, к тегу <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">
Кроме того к некоторым блокам сайта добавлена разметка "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-cid="44" - ID категории. (data-cid - категории магазина, data-pcid - категории производителей, data-ccid - категории коллекций, data-bcid - категории каталога статей)
В статистике продаж, при отдельном просмотре заказа также присутствует микроразметка.
Дополнительные блоки в корзине: Если у товара установлена оптовая цена, то создается SPAN элемент .hotengine-shop-product-price_bulk_inform_block.
Code: html
<span class="hotengine-shop-product-price_bulk_inform_block"><span class="hotengine-shop-product-price_bulk_inform_block_title"></span><span class="hotengine-shop-product-price_bulk_inform_original_price">100</span><span class="hotengine-shop-product-price_bulk_inform_original_price_bulk">100</span></span>
.hotengine-shop-product-price_bulk_inform_block_title - блок с текстом «Оптовая цена» (изменить можно через CSS стили, content).
.hotengine-shop-product-price_bulk_inform_block - блок с информацией о скидке
.hotengine-shop-product-price_bulk_inform_original_price - цена
.hotengine-shop-product-price_bulk_inform_original_price_bulk - оптовая цена
Если у товара указа Акция, то создается 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:main_menu_widget} - главное меню
{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 категории каталога статей (только внутри категории и кнопке в списке подкатегорий)
У каждой страницы эти данные уникальные, например это может быть 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:main_menu_widget} - главное меню
{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}
Один из способов реализации многоязычных сайтов, это тег с атрибутом 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="ua"></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.
Пример:
Code: CSS
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 упаковку;
- 5 - 1 кг;
- 6 - 1000 кг;
- 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;
- 38 - за 100 грамм;
- 39 - 1 фунт;
- 40 - за 1 грамм;
- 41 - за 10 кг;
- 42 - за 1 центнер;
- 43 - за 1 тонна;
- 44 - за 1 ар;
- 45 - за 1 пара;
- 46 - за 1 дюжина;
- 47 - за 1 галлон;
- 48 - за 1 баррель;
- 49 - за 1 минута;
- 50 - за 1 неделя;
- 51 - за 1 услугу;
- 52 - за 1 поездку;
- 53 - за 1 человека;
- 54 - за 1 машину;
- 55 - за 1 м.п.;
Code: JavaScript
<script>
$(document).ready(function(){ $("#hotengine-shop-cart-form .hotengine-form-submit input[type='submit']").val('Отправить заказ'); });
</script>
Перевод осуществляется при помощи инструмента Перевод значений характеристик.
Кроме того, вы можете выполнить перевод при помощи JavaScript. Однако в при таком переводе XML выгрузка характеристик на MarketPlac'ы будет на одном языке.
Например, рассмотрим перевод с Английского на Русский.