Вход для клиентовВход для клиентов  Блог О компании
Поиск:

Помощь » База знаний » Shop-Script » Настройка дизайна »

Настройка индивидуального дизайна для разных страниц витрины

Редактор дизайна Shop-Script позволяет использовать условия Smarty для индивидуальной настройки дизайна на разных страницах витрины интернет-магазина. Например, вам может понадобиться отображать рекламный баннер только на страницах с информацией о товарах, а полезные советы для покупателей показывать на всех страницах, кроме главной. Для использования условий Smarty необходимо воспользоваться ссылкой «Редактировать HTML-код» в окне редактора.

Витрина интернет-магазина Shop-Script состоит из страниц следующих видов (в скобках указаны параметры адресов каждого вида страниц):

  • страница товара (productID=...);
  • категория товаров (categoryID=...);
  • главная страница (ukey=home либо отсутствующее значение ukey);
  • страница регистрации покупателя (ukey=register);
  • страница входа в личный кабинет покупателя (ukey=auth);
  • прайс-лист (ukey=pricelist);
  • страница с формой обратной связи (ukey=feedback);
  • страница обмена ссылками (ukey=linkexchange);
  • страница со списком новостей (ukey=news);
  • страница проверки статуса заказа (ukey=order_status);
  • покупательская корзина (ukey=cart);
  • информационная страница (ukey=auxpage_...).

Для определения типа страницы в вашем условии должна выполняться проверка соответствующего значения в массиве $smarty.get, как показано ниже:

{if $smarty.get.ukey eq 'pricelist'}
текст или HTML-код
{else}
альтернативный текст или HTML-код — необязательная часть условия выделена серым цветом

{/if}

Этот код необходимо добавить в требуемую часть окна редактора дизайна в режиме редактирования HTML-кода.

Как работает этот пример:

  1. На странице с параметром ukey, равным pricelist (т.е. странице с прайс-листом), должен отображаться  текст или HTML-код, указанный во 2-й строке.
  2. Чтобы на всех остальных страницах витрины в этом же месте отображался альтернативный текст или HTML-код, оставьте в условии 3-ю и 4-ю строки, отмеченные серым цветом. В противном случае удалите эти строки.

Чтобы составить условие «от обратного», т.е. «если текущая страница не является прайс-листом», вместо оператора eq следует использовать оператор ne, например:

{if $smarty.get.ukey ne 'pricelist'}
текст или HTML-код
{else}
альтернативный текст или HTML-код — необязательная часть условия выделена серым цветом

{/if}

Как работает этот пример:

  1. На страницах с параметром ukey, НЕ равным pricelist (т.е. на всех остальных страницах, кроме страницы с прайс-листом), должен отображаться  текст или HTML-код, указанный во 2-й строке.
  2. Чтобы в противном случае (т.е. на странице с прайс-листом) отображался альтернативный текст или HTML-код, оставьте в условии 3-ю и 4-ю строки, отмеченные серым цветом. В противном случае удалите эти строки.

Совет: во второй строке условия можно указывать не только собственный HTML-код или текст, но также фрагменты оригинального кода, уже имеющегося в окне редактора дизайна. Это удобно для настройки индивидуального отображения стандартных блоков дизайна, например, главного меню, списка заголовков новостей или блока переключения языков.

Совет: добавление надписи на витрину интернет-магазина с переводом на другие языки описано в отдельной статье.

Примеры

Ниже приведены несколько примеров условий Smarty, руководствуясь которыми вы сможете составить свои собственные.

Отображение HTML-кода или текста на страницах с подробной информацией о товарах

{if $smarty.get.productID ne ''}

Примечание: это условие можно расшифровать как «если значение productID существует и данная страница является страницей товара с любым значением productID».

Отображение HTML-кода или текста на странице с информацией о товаре, значение productID которого равно «123»

{if $smarty.get.productID eq 123}

Отображение HTML-кода или текста на страницах категорий товаров

{if $smarty.get.categoryID ne ''}

Отображение HTML-кода или текста на странице регистрации или странице входа в кабинет покупателя

{if $smarty.get.ukey eq 'register' or $smarty.get.ukey eq 'auth'}

Примечание: сочетать несколько условий можно с помощью оператора or, который означает, что необходимо соблюдение либо одного, либо обоих указанных условий.

Отображение HTML-кода или текста на информационной странице со значением ID страницы, равным «auxpage_about»

{if $smarty.get.ukey eq 'auxpage_about'}

Совет: более подробную информацию об использовании синтаксиса Smarty вы найдете в справочнике по адресу http://www.smarty.net/manual/ru/.

 
 
Наш новый проект:

Фреймворк Webasyst

PHP-фреймворк для быстрого создания
веб-приложений для бизнеса.

www.webasyst.com