Вывод вместо объектов каталога раздела, в котором он содержится в результатах поиска (tpl). — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «category:Верстка в TPL '''Актуально для версии 2.9''' :Данное решение рассмотрено на примере инте…»)
 
 
Строка 26: Строка 26:
  
 
В общем и целом блок отображения результатов поиска будет выглядеть так:
 
В общем и целом блок отображения результатов поиска будет выглядеть так:
 
<source lang="xml">
 
$FORMS['price_original'] = <<<END
 
<strike>%prefix% %original% %suffix%</strike>
 
 
END;
 
</source>
 
 
:В итоге весь шаблон будет выглядеть так:
 
  
 
<source lang="xml">
 
<source lang="xml">

Текущая версия на 14:43, 25 июля 2013

Актуально для версии 2.9

Данное решение рассмотрено на примере интернет-магазина "Классический", шаблон demoold.


Задача:

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

Решение:

В модуле шаблоны данных для типа "Объект каталога" добавляем поле типа строка, например, "путь до каталога" с идентификатором put_do_kataloga
Для каждого объекта заполняем это поле подобным образом(одинарные кавычки обязательно):
'/market/hamsters/'
Поиск осуществляется с помощью макроса %search search_do()%

Вывод результатов осуществляется согласно шаблону, который находится в /tpls/search/ В нем необходимо отредактировать вывод результатов поиска в блоке $FORMS['search_block_line']

Добавим в результаты поиска вывод информации о разделе каталога с помощью макроса

%catalog category() %

В качестве параметра, который определяет путь до раздела каталога будем использовать макрос %data getProperty()% с помощью последнего получим поле "путь до каталога" для каждого найденного с помощью поиска объекта

В общем и целом блок отображения результатов поиска будет выглядеть так:

$FORMS['search_block_line'] = <<<END


<div>

 %catalog category('default', %data getProperty(%id%,'put_do_kataloga','default')%)%

</div>


END;
Таким образом, в результатах будет выводится раздел, в котором содержится искомый товар вместе с остальными товарами данного раздела.

Для вывода раздела в определенном виде можно, также, написать отдельный шаблон и использовать его имя в качестве первого параметра макроса  %catalog category( )%