Инструменты пользователя

Инструменты сайта


как_создать_лендинг_на_движке_qnits

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
как_создать_лендинг_на_движке_qnits [2015/08/17 18:08]
watch-led.ru@mail.ru [В процессе переработки Вам поможет следующий материал:]
как_создать_лендинг_на_движке_qnits [2017/06/21 16:13] (текущий)
watch-led.ru@mail.ru
Строка 3: Строка 3:
 ===== Какая разница между созданием шаблона лендинга на движке Qnits и подключением лендинга через форму передачи заказов?​ ===== ===== Какая разница между созданием шаблона лендинга на движке Qnits и подключением лендинга через форму передачи заказов?​ =====
  
-<WRAP center round box 100%> +<WRAP center round box 100%> Сразу предупреждаю,​ если у вас есть готовый html лендинг,​ вы можете подключить его к платформе через ​[[:​форма_быстрого_заказа|форму передачи заказов]] (не iframe, лучше) за 3 минуты. Плюс способа подключения через форму: это просто и быстро. </​WRAP>​
-Сразу предупреждаю,​ если у вас есть готовый html лендинг,​ вы можете подключить его к платформе через форму передачи заказов (не iframe, лучше) за 3 минуты. Плюс способа подключения через форму: это просто и быстро. +
-</​WRAP>​ +
  
 {{youtube>​Mv7Tz78KCDw}} {{youtube>​Mv7Tz78KCDw}}
  
-<WRAP center round box 100%> +<WRAP center round box 100%> Есть и альтернативный способ (о котором текст ниже) - создание шаблона на движке Qnits. У этого способа есть ряд других плюсов,​ если вы предоставляете его как оффер:
-Есть и альтернативный способ (о котором текст ниже) - создание шаблона на движке Qnits. У этого способа есть ряд других плюсов,​ если вы предоставляете его как оффер:+
  
 +Пользователи смогут парковать шаблон на свои домены Пользователи смогут настраивать шаблон,​ например:​
 +
 +  * Управлять ценой,
 +  * Скидкой,​
 +  * Отзывами
 +  * И т.д.
  
-Пользователи смогут парковать шаблон на свои домены 
-Пользователи смогут настраивать шаблон,​ например:​ 
-   * Управлять ценой, ​ 
-   * Скидкой, ​ 
-   * Отзывами ​ 
-   * И т.д. 
 У шаблона будет прямой доступ к переменным платформы:​ У шаблона будет прямой доступ к переменным платформы:​
-   * Актуальный телефон,​ адрес 
-   * Цена товара настроенная пользователем 
-   * И т.д. 
-Намного больше возможностей по работе с формой передачи заказов 
-Не нужен свой хостинг (все хостится на серверах Qnits) 
-</​WRAP>​ 
  
 +  * Актуальный телефон,​ адрес
 +  * Цена товара настроенная пользователем
 +  * И т.д.
  
-  +Намного больше возможностей по работе с формой передачи заказов Не нужен свой хостинг ​(все хостится ​на серверах Qnits) </​WRAP>​
-<WRAP center round box 100%> +
-Ну а минус второго способа подключения ​в том, что создание шаблона на движке Qnits занимает больше времени чем ​просто вставка ​формы (переделывание готового html лендинга в шаблон на движке Qnits занимает около 4х часов)+
-</​WRAP>​+
  
 +<WRAP center round box 100%> Ну а минус второго способа подключения в том, что создание шаблона на движке Qnits занимает больше времени чем просто вставка формы (переделывание готового html лендинга в шаблон на движке Qnits занимает около 4х часов). </​WRAP>​
  
 ===== Как создать шаблон лендинга на движке Qnits? ===== ===== Как создать шаблон лендинга на движке Qnits? =====
  
-<WRAP center round box 100%> +<WRAP center round box 100%> Создайте новую витрину,​ с шаблоном Landing и любым адресом например my-new-template.qnits.ru (как?)  Подключитесь по FTP к созданной витрине (Как?)
-Создайте новую витрину,​ с шаблоном Landing и любым адресом например my-new-template.qnits.ru (как?)  +
-Подключитесь по FTP к созданной витрине ​ (Как?)+
  
-Хост:​ my-new-template.qnits.ru (адрес который вы указали при создании витрины), ​ +Хост: my-new-template.qnits.ru (адрес который вы указали при создании витрины),​ Логин: my-new-template.qnits.ru (адрес который вы указали при создании витрины),​ Пароль:​*ваш пароль от панели* 
-Логин:​ my-new-template.qnits.ru (адрес который вы указали при создании витрины), ​ + 
-Пароль:​*ваш пароль от панели* +Начните перерабатывать шаблон. 
-  + 
-Начните перерабатывать шаблон.  +Результат изменений можно сразу просматривать в браузере (по адресу который вы указали при создании витрины). </​WRAP>​
-  +
-Результат изменений можно сразу просматривать в браузере (по адресу который вы указали при создании витрины). +
-</​WRAP>​+
  
-  
 ==== В процессе переработки Вам поможет следующий материал:​ ==== ==== В процессе переработки Вам поможет следующий материал:​ ====
  
 === 1. Примеры реализации шаблонов:​ === === 1. Примеры реализации шаблонов:​ ===
  
 +{{:​pasted:​20150817-161737.png}}<​WRAP center round download 60%> [[https://​www.dropbox.com/​s/​3su8g89omhto3sg/​QnitsTplSampleNano.zip?​dl=1|скачать исходник шаблона ]] </​WRAP>​
  
-{{:​pasted:​20150817-161737.png}}  +<WRAP center round box 100%> **Что в нем ​хорошего (можно взять за пример):​**
-<WRAP center round download 60%> +
-[[https://​www.dropbox.com/​s/​3su8g89omhto3sg/​QnitsTplSampleNano.zip?​dl=1|скачать исходник ​шаблона ]] +
-</​WRAP>​+
  
-<WRAP center round box 100%> 
-**Что в нем хорошего (можно взять за пример):​** 
   - Реализация мобильной,​ планшетной и пк версии   - Реализация мобильной,​ планшетной и пк версии
   - Телефон офиса берется из переменных шаблона   - Телефон офиса берется из переменных шаблона
Строка 74: Строка 55:
  
 **Что в нем плохого:​** **Что в нем плохого:​**
-  - Телефон офиса показывается,​ а артикул нет! Надо либо показывать и телефон и артикул,​ либо делать кнопку заказа звонка без отображения телефона и артикула.  
-</​WRAP>​ 
----- 
  
-{{:​pasted:​20150817-170325.png}}  +  ​Телефон офиса показывается,​ а артикул нет! Надо либо показывать и телефон и артикул, либо делать кнопку заказа звонка без отображения телефона ​и артикула.
-<WRAP center round download 60%> +
-[[https://​www.dropbox.com/​s/​d4jjpq3le1u8mwc/​QnitsTplSampleNardin.rar?​dl=1|скачать исходник ​шаблона]] +
-</​WRAP>​+
  
- 
-<WRAP center round box 100%> 
-**Что в нем хорошего (можно взять за пример):​** 
-  - Правильная подгрузка товара по артикулу (так что товар изначально появится на витрине партнера со стандартной ценой, а дальше партнер сможет ей управлять через раздел товаров витрины и это будет отражаться на ленде) 
-  - Телефон офиса и артикул товара берется из переменных шаблона 
-  - Работа с config.conf 
-  -  Подгрузка отзывов из конфига + реализация отзывов по умолчанию (а вот сам текст отзывов которые по умолчанию - так себе) 
-  -  Подгрузка и отражение Meta Title 
-  -  Подгрузка и отражение скидки 
-  - Работа с формой заказа (oneClickBuyTool) 
-  -  __Выбор цвета товара,​ влияющий на форму заказа__ 
-  -  Обработка ошибок формы (когда сабмитится без данных или неправильный телефон) - ошибки показываются,​ дизайн не едет, исправиться и засабмитить по новой легко 
-  -  Создание заказа без редиректа на страницу заказа 
-  -  Подгрузка и отражение скидки 
-  - Страница Доставка и оплата + для мобильных в контенте страницы отображается "​мини-содержание"​ чтоб с первого экрана был виден краткий обзор возможностей 
-  - Страница Гарантии 
-  - Реквизиты в футере 
-  - Ссылка на политику конфиденциальности 
-  - Картинки ужаты через [[https://​kraken.io/​web-interface ]] 
- 
-**Что в нем плохо:​** 
-  - Много неиспользуемых файлов,​ скриптов 
-  - Наличие внешних ссылок/​ресурсов (на css/​картинки/​скрипты в том-числе). Все используемые файлы должны быть в папках шаблона,​ а не на внешних ресурсах. 
 </​WRAP>​ </​WRAP>​
- 
-  
  
 ---- ----
  
-{{:​pasted:​20150817-170754.png}} 
-<WRAP center round download 60%> 
-[[https://​www.dropbox.com/​s/​2599brgbkygiq4s/​QnitsTplSampleDior.rar?​dl=1|скачать исходник шаблона]] 
-</​WRAP>​ 
  
 +=== 2. Структура папок на FTP ===
  
-<WRAP center round box 100%> +На движке Qnits, разные виды файлов шаблона должны быть разложены строго ​по определенным папкам. Иначе они не будут подгружаться. Вот схема папок:
-**Что в нем хорошего (можно взять за пример):​** +
-  - Правильная подгрузка нескольких товаров по артикулу (так что товары изначально появятся на витрине партнера со стандартной ценойа дальше партнер сможет ей управлять через раздел товаров ​витрины и это будет отражаться на ленде) +
-  - Телефон офиса и артикул товара берется из переменных ​шаблона +
-  - Работа с config.conf +
-  - Подгрузка отзывов из конфига + реализация отзывов по умолчанию (но в данном шаблоне отзывы без отображения фотографий клиентов) +
-  - Подгрузка и отражение Meta Title +
-  - Подгрузка и отражение Заголовка ​на странице +
-  - Работа с формой заказа (oneClickBuyTool) +
-  - Заказ сразу ​на три товара +
-  - Реквизиты в футере +
-  - Ссылка на политику конфиденциальности + тут хорошо что она не выделяется, ​не будет отвлекать клиентов +
-  - Картинки ​ужаты через https://​kraken.io/​web-interface +200% к скорости загрузки +
-          +
-**Что в нем плохо:​** +
-  - Много неиспользуемых файлов, ​скриптов +
-  - Кривая обработка ошибок формы (когда ​сабмитится без данных или неправильный телефон). Хоть ошибки и показываются,​ исправиться и засабмитить по новой можно, но выглядит это криво +
-{{:​pasted:​20150817-170644.png}} +
-</​WRAP>​+
  
 +{{:​pasted:​20150817-171443.png}}
  
----- +=== 3. Разметка шаблона (tpl) ===
-          +
-         ​+
  
-=== 2Структура ​папок на FTP ===+Принцип прост "tpl файлы"​ - это HTML код отдельных частей шаблона,​ с вставками тегов в {фигурных скобках}, на место тегов в отображении ​подставляется динамическое содержимое.
  
-  +Если нужно вставить НЕпеременную ​с фигурными скобками (например скрипт,​ содержащий фигурные скобки), ​то этот код надо окружить тегами {literal} здесь ваш код {/literal}. Основные ​теги которые могут вам понадобится:
-На движке Qnits, разные виды файлов шаблона ​ должны быть разложены строго по определенным ​папкам. Иначе они не будут  подгружатьсяВот схема папок:+
  
-{{:pasted:​20150817-171443.png}}+<WRAP center round box 80%> 1. § {$название переменной} [[:переменные_шаблонов|список переменных]]
  
- +  * Подставляет на место тега значение соответствующей переменной шаблона
  
-=== 3Разметка шаблона (tpl===+2§ {if (условие)} 111 {/if}
  
-  +  * Выводит 111 если выполняется ​условие
-Принцип прост. +
-  +
-"tpl файлы" - это HTML код отдельных частей шаблона, с вставками тегов в {фигурных скобках},​ на место тегов в отображении ​подставляется ​динамическое содержимое.+
  
- Если нужно вставить НЕпеременную с фигурными скобками (например скрипт,​ содержащий фигурные скобки), то этот код надо окружить тегами ​{literalздесь ваш код ​{/literal}. Основные теги которые могут вам понадобится:​+3. § {if (условие)} 111 {else222 {/if}
  
-<WRAP center round box 80%> 
- 1. § {$название переменной} список переменных-йцукен 
-  * Подставляет на место тега значение соответствующей переменной шаблона  
- 2. § {if (условие)} 111 {/if} 
-  * Выводит 111 если выполняется условие  
- 3. § {if (условие)} 111 {else} 222 {/if} 
   * Выводит 111 если выполняется условие,​ 222 если оно не выполняется.   * Выводит 111 если выполняется условие,​ 222 если оно не выполняется.
 +
 </​WRAP>​ </​WRAP>​
- 
-  
  
 === 4. Частые вопросы по разметке (tpl) === === 4. Частые вопросы по разметке (tpl) ===
- +
 <WRAP center round box 100%> <WRAP center round box 100%>
-  ​* ○ Шаблон перестает работать,​ когда я вставляю фигурные скобки {  }, например,​ в составе js кода + 
-  *  ○ Пишите так: {literal} скрипт,​ и любой другой текст шаблона с фигурными скобками.{/​literal}  +  ​* ○ Шаблон перестает работать,​ когда я вставляю фигурные скобки { }, например,​ в составе js кода 
-  *  ○ Как загрузить свой фейвикон?​ +  * ○ Пишите так: {literal} скрипт,​ и любой другой текст шаблона с фигурными скобками.{/​literal}  
-  *  ○ Загрузите свой файл favicon.png в папку с картинками шаблона (папка называется "​images"​) +  * ○ Как загрузить свой фейвикон?​ 
- +  * ○ Загрузите свой файл favicon.png в папку с картинками шаблона (папка называется "​images"​) 
   * • Как задать содержимое раздела head на уровне шаблона?​   * • Как задать содержимое раздела head на уровне шаблона?​
-  *  ○ Создайте файл "​head.tpl"​ в папке "​html"​ и пропишите там любые хедеры,​ которые вам нужны +  * ○ Создайте файл "​head.tpl"​ в папке "​html"​ и пропишите там любые хедеры,​ которые вам нужны 
-  *  ○ Только не надо прописывать таким образом счетчики метрики (через вставку кода счетчика в шаблон). Счетчики метрики мы советуем задавать через настройку магазина-йцукен, а не ручное добавление в шаблон,​ - иначе не будут учитываться конверсии. +  * ○ Только не надо прописывать таким образом счетчики метрики (через вставку кода счетчика в шаблон). Счетчики метрики мы советуем задавать через ​[[:​установка_счётчика_метрики_на_витрину|настройку магазина]], а не ручное добавление в шаблон,​ - иначе не будут учитываться конверсии. 
- +
   * • Как отключить стили Qnits на определенных страницах?​   * • Как отключить стили Qnits на определенных страницах?​
-  *  ○ Для отключения стилей Qnits: +  * ○ Для отключения стилей Qnits: 
-  *  § Откройте файл html/​head.tpl (создайте файл, если его нет в вашем текущем шаблоне) +  * § Откройте файл html/​head.tpl (создайте файл, если его нет в вашем текущем шаблоне) 
-  *  § Вставьте в него {$settings->setUseQnitsStylesOnThisPage(false)} +  * § Вставьте в него {$settingssetUseQnitsStylesOnThisPage(false)} 
-  *  ○ Пример:​ +  * ○ Пример:​ 
-  *  {{:​pasted:​20150817-172039.png}}+  * {{:​pasted:​20150817-172039.png}} 
 + 
 +  * ○ Используйте блок {if} для выделения нужных страниц,​ не отключайте стили на всех страницах,​ иначе например страница заказа может стать неработоспособной
  
-  *  ○ Используйте блок {if} для выделения нужных страниц,​ не отключайте стили на всех страницах,​ иначе например страница заказа может стать неработоспособной 
-  
   * • Как сделать разное отображение для мобильных/​планшетов/​пк?​   * • Как сделать разное отображение для мобильных/​планшетов/​пк?​
  
   * Можно использовать такую конструкцию:​   * Можно использовать такую конструкцию:​
-  *  {if $userDevice->isTablet()} +  * {if $userDeviceisTablet()} 
-  *  Отображение для планшетов +  * Отображение для планшетов 
-  *  {elseif $userDevice->isMobile()}+  * {elseif $userDeviceisMobile()}
  
   * Отображение для мобильных   * Отображение для мобильных
-  *  {else}+  * {else}
   * Отображение для ПК   * Отображение для ПК
-  *  {/if} +  * {/if} 
-  +
- +
   * Например,​ подгрузка разных стилей в head.tpl   * Например,​ подгрузка разных стилей в head.tpl
-  *  {if $userDevice->isTablet()} +  * {if $userDeviceisTablet()} 
-  *  <link rel="​stylesheet"​ type="​text/​css"​ href="/​design/​css/​tablet/​index.css"/>​ +  * <link rel="​stylesheet"​ type="​text/​css"​ href="/​design/​css/​tablet/​index.css"/>​ 
-  *  {elseif $userDevice->isMobile()} +  * {elseif $userDeviceisMobile()} 
-  *  <link rel="​stylesheet"​ type="​text/​css"​ href="/​design/​css/​mobile/​index.css"/>​ +  * <link rel="​stylesheet"​ type="​text/​css"​ href="/​design/​css/​mobile/​index.css"/>​ 
-  *  {else} +  * {else} 
-  *  <link rel="​stylesheet"​ type="​text/​css"​ href="/​design/​css/​index.css"/>​ +  * <link rel="​stylesheet"​ type="​text/​css"​ href="/​design/​css/​index.css"/>​ 
-  *  {/if} +  * {/if} 
- +
   * Или например,​ подгрузка разных вариантов отображения в start_page.tpl   * Или например,​ подгрузка разных вариантов отображения в start_page.tpl
-  *  {if $userDevice->isTablet()} +  * {if $userDeviceisTablet()} 
-  *  {include file='​start_page_tablet.tpl'​} +  * {include file='​start_page_tablet.tpl'​} 
-  *  {elseif $userDevice->isMobile()} +  * {elseif $userDeviceisMobile()} 
-  *  {include file='​start_page_mobile.tpl'​} +  * {include file='​start_page_mobile.tpl'​} 
-  *  {else} +  * {else} 
-  *  {include file='​start_page_pc.tpl'​} +  * {include file='​start_page_pc.tpl'​} 
-  *  {/if} +  * {/if} 
- +
   * Этого достаточно для 99% задач.   * Этого достаточно для 99% задач.
  
   * При необходимости,​ доп инфу по синтаксису шаблонизатора можно подчерпнуть [[https://​code.google.com/​p/​quicky/​wiki/​Manual|здесь]]    * При необходимости,​ доп инфу по синтаксису шаблонизатора можно подчерпнуть [[https://​code.google.com/​p/​quicky/​wiki/​Manual|здесь]]
 +
 </​WRAP>​ </​WRAP>​
- 
- 
  
 === 5. Подгрузка товара:​ === === 5. Подгрузка товара:​ ===
  
 {{:​pasted:​20150817-173623.png}} {{:​pasted:​20150817-173623.png}}
-  + 
-  +=== 6. Форма быстрого заказа:​ === 
-=== 6. Форма быстрого заказа:​  === +
- +
 {{:​pasted:​20150817-173740.png}} {{:​pasted:​20150817-173740.png}}
  
-  
 === 7. Смена товара в форме быстрого заказа:​ === === 7. Смена товара в форме быстрого заказа:​ ===
  
 +<WRAP center round box 100%> Для смены товара в заказе достаточно изменить значение скрытого поля "​ocProducts"​ в сгенерированной форме. В этом поле записаны:​
  
-<WRAP center round box 100%> +<WRAP center round box 100%> ​Товар, который должен попадать в заказ ​Желаемая цена (можно пропускать это ​значение как в примере ниже), Количество </​WRAP>​
-Для смены товара в заказе ​достаточно изменить значение ​скрытого ​поля "​ocProducts"​ в сгенерированной форме. В этом поле ​записаны:+
  
-<WRAP center round box 100%> +** Вот пример ​реализации js выбора товара из шаблона Nardin (в файле start_page.tpl):**
-Товар, который должен попадать в заказ +
-Желаемая ​цена (можно пропускать это значение как в примере ниже)+
-Количество +
-</​WRAP>​+
  
 +{literal} <script type="​text/​javascript">​$(document).ready(function () {$("​input[name=radios],​input[name=radios2]"​).on('​change',​ function () {if ($(this).val() == '​first'​) {$('​.watch'​).css('​background-image',​ '​url("/​design/​images/​header_watch.png"​)'​);​
  
-** Вот пример реализации js выбора товара из шаблона Nardin (в файле start_page.tpl):​** +/Передаем выбор ​цвета в форму, ​тут нужен именно артикул витрины, ​а не библиотеки, мы можем его получить из подгруженного товара *<WRAP center round box 100%> $(this).parent().parent().parent().find("​input[name='​QproductOneClickBuyModel[0][ocProducts]'​]").val("​qproduct:​{/​literal}{$product→qproduct_id}{literal}-preferedPrice:​-quantity:​1"​);​}else ​{$('​.watch'​).css('​background-image',​ '​url("/​design/​images/​header_watch2.png"​)'​); ​</​WRAP>​
-  +
-{literal}  +
-<script type="​text/​javascript"​>$(document).ready(function ​() {$("​input[name=radios],input[name=radios2]").on('​change',​ function () {if ($(this).val() == '​first'​) {$('​.watch'​).css('​background-image',​ '​url("/​design/​images/​header_watch.png"​)'​);​+
  
-/* Передаем выбор цвета в форму, тут нужен именно артикул витрины,​ а не библиотеки,​ мы можем его получить из подгруженного товара */ +/* Передаем выбор цвета в форму, тут нужен именно артикул витрины,​ а не библиотеки,​ мы можем его получить из подгруженного товара */ <WRAP center round box 100%> $(this).parent().parent().parent().find("​input[name='​QproductOneClickBuyModel[0][ocProducts]'​]"​).val("​qproduct:​{/​literal}{$product2→qproduct_id}{literal}-preferedPrice:​-quantity:​1"​);​}});}) </​WRAP>​
-<WRAP center round box 100%> +
-$(this).parent().parent().parent().find("​input[name='​QproductOneClickBuyModel[0][ocProducts]'​]"​).val("​qproduct:​{/​literal}{$product->​qproduct_id}{literal}-preferedPrice:​-quantity:​1"​);​}else {$('​.watch'​).css('​background-image',​ '​url("/​design/​images/​header_watch2.png"​)'); +
-</​WRAP>​+
  
 +</​script>​ {/literal}
  
-/* Передаем выбор цвета в форму, тут нужен именно артикул витрины,​ а не библиотеки,​ мы можем его получить из подгруженного товара */ 
-<WRAP center round box 100%> 
-$(this).parent().parent().parent().find("​input[name='​QproductOneClickBuyModel[0][ocProducts]'​]"​).val("​qproduct:​{/​literal}{$product2->​qproduct_id}{literal}-preferedPrice:​-quantity:​1"​);​}});​}) 
-</​WRAP>​ 
- 
-  
-</​script>​ 
-{/literal} 
-  
 Если в форме несколько разных видов товаров,​ то значение выглядит таким образом "​qproduct:​146987401-preferedPrice:​-quantity:​1|qproduct:​146987402-preferedPrice:​-quantity:​1|qproduct:​146987403-preferedPrice:​-quantity:​1"​ (в данном примере передается 3 товара по 1 шт.) Если в форме несколько разных видов товаров,​ то значение выглядит таким образом "​qproduct:​146987401-preferedPrice:​-quantity:​1|qproduct:​146987402-preferedPrice:​-quantity:​1|qproduct:​146987403-preferedPrice:​-quantity:​1"​ (в данном примере передается 3 товара по 1 шт.)
  
 </​WRAP>​ </​WRAP>​
  
 +Это все что может понадобиться при создании своего шаблона лендинга на движке Qnits!
  
-Это все что может понадобиться при создании своего шаблона лендинга на движке Qnits!  
- 
-И не забываем что в Qnits есть крутая программа [[как_добавить_свой_оффер_в_ваш_список|сделай ленд получай процент]]  
-  * Да здравствует web 2.0 в ecommerce!  
как_создать_лендинг_на_движке_qnits.1439824127.txt.gz · Последние изменения: 2015/08/17 18:08 — watch-led.ru@mail.ru