Артем писал(а):
Здравствуйте, подскажите как добавить на главной странице еще дополнительные блоки на подобие "Популярные товары",
Скопировал и переименовал файл _item.tmpl под свои категории, добавил в файле index.tmpl код с категориями, а как подключить в новых файлах _item(название) не получается.
Способ №1Делаете /custom/shop.xml примерно такого содержания
Код:
<?xml version="1.0" encoding="utf-8"?>
<shop>
<products>
<product code="is350"><block_1>1</block_1></product>
<product code="kotel-400"><block_1>1</block_1></product>
<product code="ach-500"><block_1>1</block_1></product>
<product code="energy-sai-160"><block_2>1</block_2></product>
<product code="resanta-sai-160k"><block_2>1</block_2></product>
<product code="resanta-sai-160"><block_2>1</block_2></product>
</products>
</shop>
И добавляете в index.tmpl следующий код:
Код:
<h2>Блок №1</h2>
<div class="items-list">
<TMPL_LOOP NAME='products'>
<TMPL_IF NAME="block_1">
<TMPL_INCLUDE FILE="_item.tmpl" MODE="INLINE">
</TMPL_IF>
</TMPL_LOOP>
</div>
<h2>Блок №2</h2>
<div class="items-list">
<TMPL_LOOP NAME='products'>
<TMPL_IF NAME="block_2">
<TMPL_INCLUDE FILE="_item.tmpl" MODE="INLINE">
</TMPL_IF>
</TMPL_LOOP>
</div>
Способ №2Создаем файл /custom/hooks.php и делаем в нем хук onIndex, в котором отбираем товары через xpath и передаем в шаблон в виде массив(а/ов):
Код:
<?php
function onIndex($tmpl, $products) {
$products_1 = getProductsArray("//product[category='Мойка высокого давления']");
$products_2 = getProductsArray("//product[@code='star-3000' or @code='resanta-ach-5000c']");
$tmpl->setLoop('block_1', $products_1);
$tmpl->setLoop('block_2', $products_2);
}
А затем в index.tml просто делаем отображение этих массивов:
Цитата:
<h2>Блок №1</h2>
<div class="items-list">
<TMPL_LOOP NAME='block_1'>
<TMPL_INCLUDE FILE="_item.tmpl" MODE="INLINE">
</TMPL_LOOP>
</div>
<h2>Блок №2</h2>
<div class="items-list">
<TMPL_LOOP NAME='block_2'>
<TMPL_INCLUDE FILE="_item.tmpl" MODE="INLINE">
</TMPL_LOOP>
</div>
Ну, и остальные способы - вариации первых двух, чтобы сделать все еще компактнее, удобнее и универсальнее