Блог

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 v6)

    После последнего обновления 6.1.4 появилась возможность показать пользователю в краткой корзине отложенные им товары. Удобная функция, особенно для тех интернет-магазинов, в которых пользователи обычно покупают сразу несколько товаров за раз...

  • Правила оформления страницы продукта интернет-магазина

    Правильно оформленная карточка товара в интернет-магазине, доступность и подробность информации о том, как оплатить заказ, как его доставят и другие ньюансы в значительной степени влияют на то, станет ли посетитель сайта покупателем...

  • HOSTCMS v.6. Внедряем coin-slider

    Coin-slider один из популярных слайдеров, который используется на сайтах. Чаще всего слайдеры используют на Главной странице, для придания ей динамики, привлечения внимания к «горячей» информации. В этой статье рассказывается, как внедрить этот слайдер XSL-шаблон сайта, разработанного на HostCMS.

  • Шаблон интернет-магазина медицинских товаров

    Шаблон идеально подойдёт для интернет-магазина по продаже медицинских товаров.

  • Готовые интернет-магазины на HostCMS

    разработка и продажа готовых интернет-магазинов

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

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

Наши услуги по созданию сайтов

Веб дизайн

Разработка дизайна и создание интернет-сайта.

Поддержка сайта

Поддержка работоспособности. Написание текстов и статей. Наполнение товарами.

Готовый дизайн

Готовые шаблоны интернет-магазинов и корпоративных сайтов на HostCMS.

Контекстная реклама

Настройка и ведение рекламной кампании в Директ