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. Вертикальное меню на jQuery
HostCMS v.6. Вертикальное меню на jQuery

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

HOSTCMS v.6. Ссылка на все товары производителя в карточке товара
HOSTCMS v.6. Ссылка на все товары производителя в карточке товара

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

Разметка Open Graph для HostCMS v.6
Разметка Open Graph для HostCMS v.6

Для начала узнаем, что такое Open Graph? Open Graph - это протокол, который формирует вид внешней ссылки в социальных сетях. Первоначально этот протокол был разработан для Facebook, однако сейчас используется и в других соцсетях.

HOSTCMS v.6. Поиск по сайту с показом карточки товара
HOSTCMS v.6. Поиск по сайту с показом карточки товара

Небольшая доработка стандартного XSL шаблона «Поиск» для сайтов на HostCMS

Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам обеспечивать вас лучшим контентом. Вы можете прочитать подробнее о cookie-файлах или изменить настройки браузера. Отключение cookie-файлов может привести к неполадкам в работе сайта. Продолжая пользоваться сайтом без изменения настроек, вы даете согласие на использование ваших cookie-файлов. Это совершенно безопасно!