HostCMS v.6. Вывод товаров по значению дополнительного свойства типа строка

HostCMS v.6. Вывод товаров по значению дополнительного свойства типа строка
HostCMS v.6. Вывод товаров по значению дополнительного свойства типа строка

Вам нужно вывести товары интернет-магазина по какому-то    определенному признаку?
Для начала создаем дополнительное свойство, пройдя по цепочке «
Интернет-магазин ⇒ Товар ⇒ Свойства товара». Создавая свойство товара, выберем Тип — Строка (к примеру). 

Для того, чтобы отфильтровать товары магазина по созданному нами Дополнительному свойству, вписываем в макет страницы следующий 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 ();
         }         
         ? >  

Понравилась статья?
Будем признательны, если поделитесь в соцсетях или мессенджерах, а также присоединитесь к нашей группе Вконтакте. Будет интересно!

Вас может заинтересовать:

HOSTCMS v.6. Правильная семантическая микроразметка
HOSTCMS v.6. Правильная семантическая микроразметка
Не будем углубляться в терминологию и описание того, что означает микроразметка, т.к. об этом уже много чего написано и я беру за аксиому, что вы об этом уже знаете, раз читаете данную статью. Задача статьи описать более конкретный случай, а именно - использование микроразметки в XSL шаблонах HostCMS...

HOSTCMS v.6. Полезные SQL запросы
HOSTCMS v.6. Полезные SQL запросы
Подборка SQL запросов к базе данных для сайтов на HostCMS v.6. Может быть очень полезной в некоторых случаях в пройцессе создания или обслуживания сайта...

Интернет магазин. Службы доставки товаров
Интернет магазин. Службы доставки товаров
Для того, чтобы увеличить продажи с сайта вам, обязательно нужно предоставить Покупателям разнообразные способы доставки товара. Если вы будете рассчитывать, что Клиент сам приедет в ваш магазин или пункт выдачи и заберет заказ, то потеряете значительную часть потенциальных покупателей, которые живут в другом регионе...

Кредитная кнопка (для сайтов на HostCMS v.6)
Кредитная кнопка (для сайтов на HostCMS v.6)

Была такая задача в ТЗ клиента — внедрить «кредитную кнопку» Банка «Русский Стандарт» в корзину интернет-магазина. Возможно, кому-то это пригодится.


HostCMS v.6. Вертикальное меню на jQuery
HostCMS v.6. Вертикальное меню на jQuery
Простой пример левого вертикального выпадающего меню для групп товаров интернет магазина. Простая установка и настройка...

8 способов уменьшить отказ от корзины на вашем сайте
8 способов уменьшить отказ от корзины на вашем сайте
Согласно статистике, средний показатель отказа от корзины колеблется от 69% до 81% в различных отраслях. Таким образом, почти 80 из каждых 100 посетителей отказываются от оплаты. Вышесказанное происходит на всех сайтах электронной коммерции.

Мы используем файлы cookie. Они помогают улучшить ваше взаимодействие с сайтом.