Специальное предложение в 1С-Битрикс

 

На прошлом этапе, мы определились какие компоненты у нас будут отвечать за ту или иную область шаблона. В данном посте мы рассмотрим как реализовать “специальное предолжение.

 

 

Специальное предложение

 

Как я указал на этапе “подбор компонентов для шаблона“, за «специальное предложение» у нас будет отвечать компонент «bitrix:furniture.catalog.random».

 

Действуем по аналогии, как и с другими компонентами…

  1. Создадим пользовательский шаблон, скопируем шаблон «.default» компонента «bitrix:furniture.catalog.random» в папку с пользовательскими шаблонами компонентов, т.е. в www\bitrix\templates\имя_шаблона\components\bitrix\bitrix:furniture.catalog.random. Переименуем наш шаблон в my_default (вы можете назвать его как угодно, суть от этого не меняется)
  2. Находим фрагмент html, отвечающий за вывод «специального предложения», в моем случае он такой:

    Заменим его на вызов компонента с нашим шаблоном:

     

    В параметре «DETAIL_URL» вы должны указать URL адрес до страницы с описанием данного товара. Собирается URL из строковых констант и заранее объявленных переменных, например в данном случае:

    • «#SITE_DIR#» — переменная, содержит ULR до корневой папки сайта, вообщем это ваще доменное имя;
    • «index.php?ELEMENT_ID=» — это простая строка;
    • «#ID#» — переменная, содержит ID данного товара.

    Для того что-бы собрать адрес DETAIL_URL для вашего случае, перейдите на детальное описание какого либо вашего товара и посмотрите URL в браузере.

     

  3.  Правим шаблон www\bitrix\templates\test\components\bitrix\subscribe.form\my_default\template.php, урезав все лишнее и добавив HTML код «специального предложения» шаблона-прототипа у меня получился следующий пользовательский шаблон:

     

    Где переменные:

    $arResult[«PRICES»] – стоимость товара;

    $arResult[«PRICES_DISCOUNT»] – стоимость товара со скидкой.
    Формируются даннные переменные в файле «www\bitrix\templates\имя_шаблона\components\bitrix\furniture.catalog.random\my_default\result_modifier.php» с помощью следующих строк:

     

 

Если посмотреть в браузере, то данный компонент с нашим шаблоном «my_default» выглядит так:

 

templeate_component_special

 

 

Компонент выводит случайный продукт из заданного инфоблока, если у продукта есть скидка то цена отображается как показано выше, если скидки нет, то как на изображение ниже:

 

templeate_component_special2

 

 

Компонент визуально полностью совпадает с «Special Products» в шаблоне-прототипе, интеграцию компонента можно считать завершенной.




Буду признателен если вы поделитесь данным постом


Ваш комментарий


Ответ в цифрах

 
© s-engineer.ru, 2012-2017 | Все права защищены