HOSTCMS v.6. Поиск по сайту с показом карточки товара
Небольшая доработка стандартного XSL шаблона «Поиск» для сайтов на HostCMS
Вам нужно вывести товары интернет-магазина по ка
Для начала создаем дополнительное свойство, пройдя по цепочке «Интернет-магазин ⇒ Товар ⇒ Свойства товара». Создавая свойство товара, выберем Тип — Строка (к примеру).
Для того, чтобы отфильтровать товары магазина по созданному нами Дополнительному свойству, вписываем в макет страницы следующий php код:
<?php
// ВЫВОД ТОВАРОВ ПО ЗНАЧЕНИЮ ДОПОЛНИТЕЛЬНОГО СВОЙСТВА
if (Core::moduleIsActive ('shop'))
{
$Shop_Controller_Show = new Shop_Controller_Show (
Core_Entity::factory ('Shop', 3)
) ;
$Shop_Controller_Show
->xsl (
Core_Entity::factory ('Xsl')->getByName ('МагазинКаталогТоваровНаГлавнойСпецПред')
)
->groupsMode ('none')
//->itemsForbiddenTags (array ('text'))
->group (FALSE)
->itemsProperties (TRUE)
->limit (3);
// Объединение с нужной таблицей свойств
$Shop_Controller_Show
->ShopItems ()
->queryBuilder ()
->where ('shop_items.active', '=', 1)
->clearOrderBy ()
->orderBy ('RAND ()') // в случайном порядке
->leftJoin ('shop_item_properties', 'shop_items.shop_id', '=', 'shop_item_properties.shop_id')
->leftJoin ('property_value_strings', 'shop_items.id', '=', 'property_value_strings.entity_id',
array (
array ('AND' ≥ array ('shop_item_properties.property_id', '=', Core_QueryBuilder::expression ('`property_value_strings`.`property_id`')))
)
)
// Идентификатор дополнительного свойства
->where ('shop_item_properties.property_id', '=', 64) // здесь указываете id вашего дополнительного свойства
// Значание дополнительного свойства
->where ('property_value_strings.value', '>', '0')
->groupBy ('shop_items.id')
// Количество свойств
->having ('COUNT (shop_item_properties.shop_id)', '=', 1);
$Shop_Controller_Show->show ();
}
? >
Другие статьи по теме:
Небольшая доработка стандартного XSL шаблона «Поиск» для сайтов на HostCMS
В 6 версии разработчики убрали проверку вводимых данных в форму заказа на шаге заполнения адреса доставки. Предлагаю очень простое решение этой проблемы с использованием JavaScript.
Не ошибусь, если скажу, что практически все владельцы сайтов сталкиваются с такой проблемой, как СПАМ. Это просто кошмар, когда ваш почтовый ящик ежедневно наполняется сотнями, а то и тысячами СПАМ-писем.
Хочу поделиться с вами кодом, который размещается в макете страницы и подгружает в нее форму с reCaptcha...
Не будем углубляться в терминологию и описание того, что означает микроразметка, т.к. об этом уже много чего написано и я беру за аксиому, что вы об этом уже знаете, раз читаете данную статью. Задача статьи описать более конкретный случай, а именно - использование микроразметки в XSL шаблонах HostCMS...