Для главнойМеняем функцию
onIndex() в
/custom/hooks.php из предыдущего примера, добавляя выборку товаров по xpath, например так:
Код:
function onIndex($tmpl, $products) {
$xpath = "//product[category='ИБП']";
$tmpl->setLoop('random_goods', getRandomGoods(getProductsArray($xpath)));
}
И теперь на главной, в блоке случайных товаров, отображаются лишь случайные ИБП
Для категорийВ файле
/custom/custom_cat.php добавляем для нужных категорий параметр
random_xpath в котором приписываем
xpath для случайных товаров:
Код:
<?php
$nav['resanta-ach']['random_xpath'] = "//product[category='Стабилизатор напряжения' and trademark='Энергия']";
$nav['instab']['random_xpath'] = "//product[category='Стабилизатор напряжения' and trademark='Ресанта']";
А функцию
onCategoryDisplay() в файле
/custom/hooks.php из предыдущего примера меняем на:
Код:
function onCategoryDisplay($tmpl, $cat, $products) {
global $nav;
if (isset($nav[$cat]['random_xpath']))
$tmpl->setLoop('random_goods', getRandomGoods(getProductsArray($nav[$cat]['random_xpath'])));
else
$tmpl->setLoop('random_goods', getRandomGoods(getProductsArray()));
}
Теперь для категории
resanta-ach отображаются случайные стабилизаторы марки "Энергия". Для категории
instab отображаются случайные стабилизаторы марки "Ресанта". А для всех остальных категорий (для которых не прописан параметр
random_xpath) отображаются случайные товары из всего ассортимента.
Для отдельных товаровПрописываем
random_xpath для отдельных товаров в файле
/custom/shop.xml, например так:
Код:
<?xml version="1.0" encoding="utf-8"?>
<shop>
<products>
<product code="hiden-ku9101h">
<random_xpath>//product[category='Сварочный аппарат']</random_xpath>
</product>
<product code="is12000">
<random_xpath>//product[category='Стабилизатор напряжения' and trademark='Рубин']</random_xpath>
</product>
</products>
</shop>
А функцию
onProductDisplay() в файле
/custom/custom_cat.php из предыдущего примера заменяем на:
Код:
function onProductDisplay($code, $tmpl) {
$product = getProductsArray("//product[@code='" . $code . "']");
if (isset($product['0']['random_xpath']))
$tmpl->setLoop('random_goods', getRandomGoods(getProductsArray($product['0']['random_xpath'])));
else
$tmpl->setLoop('random_goods', getRandomGoods(getProductsArray()));
}
Теперь для товара с кодом
hiden-ku9101h в блоке случайных товаров отобразятся лишь сварочные аппараты. Для товара с кодом
is12000 в случайных товарах будут лишь стабилизаторы марки "Рубин". А для всех остальных товаров (у которых нода
random_xpath не прописана) в блоке случайных товарах будут отображаться товары из всего ассортимента.