Определенные группы товаров на главной странице.

Определенные группы товаров на главной странице.
Добрый день. На данный момент у меня на сайте на главной странице выводятся все категории (группы) интернет-магазина 1-ого уровня, т.е. shop/group1, shoup/group2 и т.д. Требуется, чтобы выводились только определенные группы товаров, например, shoup/group2/razdel1, shoup/group2/razdel2, shoup/group2/razdel3 и т.д.
Подскажите, пожалуйста, как это можно сделать.
Ниже привожу код того, что реализовано на данный момент.
Из макета главной страницы:

      if (Core::moduleIsActive('shop'))
      {
         $Shop_Controller_Show = new Shop_Controller_Show(
            Core_Entity::factory('Shop', 1)
         );
         $Shop_Controller_Show
            ->xsl(
               Core_Entity::factory('Xsl')->getByName('МагазинГруппыТоваровНаГлавной')
            )
            ->groupsMode('all')
            //->itemsForbiddenTags(array('text'))
            ->group(0)
            ->limit(0)
            ->show();
      }


Из XSL:

   <xsl:template match="/">
      <xsl:apply-templates select="/shop"/>
   </xsl:template>
   
   <!-- Шаблон для магазина -->
   <xsl:template match="/shop">
      <p class="h1 red">Наша продукция</p>
      <div class="shop_list">
         <xsl:apply-templates select="shop_group"/>
      </div>
   </xsl:template>
   
   <!-- Шаблон для групп товара -->
   <xsl:template match="shop_group">
      <div class="group"><div class="cell">
            <a href="{url}" >
               <img src="{dir}{image_small}" align="middle"/>
            </a><a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </a>
            
            <!-- Если есть подгруппы -->
            <!-- <xsl:if test="shop_group">
               <ul class="left_menu gray_link gray" id="{@id}" style="display: none;">
                  <xsl:apply-templates select="shop_group"/>
               </ul>
            </xsl:if> -->
         </div>
      </div>
   <xsl:if test="position() mod 3 = 0"><div style="clear: both; display: table-row;"></div></xsl:if>
   </xsl:template>
Использую HostCms в редакции Корпорация
Re: Определенные группы товаров на главной странице.
Вопрос всё ещё актуален.
Использую HostCms в редакции Корпорация
Re: Определенные группы товаров на главной странице.
Создаете доп. свойство для группы "Отображать на главной" и фильтруете
HostDev.pw - модули для HostCMS, Telegram: @hostdev
Re: Определенные группы товаров на главной странице.
Создал доп. свойство для групп (тип - флажок) "Отображать на главной" с xml-тегом "frontview".
Если я правильно понимаю, то изменения нужно вносить в XSL в блоке

   <!-- Шаблон для магазина -->
   <xsl:template match="/shop">
      <p class="h1 red">Наша продукция</p>
      <div class="shop_list">
         <xsl:apply-templates select="shop_group"/>
      </div>
   </xsl:template>

На форуме нашёл решение для 5-й версии системы

<xsl:apply-templates select="//group[@parent=$parent_group_id and propertys/property[@xml_name='frontview']/value='1']"/>


Подскажите, пожалуйста, это будет работать для 6-й версии HostCms, и если нет, то как правильно сделать ?
Использую HostCms в редакции Корпорация
Re: Определенные группы товаров на главной странице.
Help! Очень надеюсь на ответ.
Использую HostCms в редакции Корпорация
Re: Определенные группы товаров на главной странице.
if (Core::moduleIsActive('shop')) {
   $Shop_Controller_Show = new Shop_Controller_Show(Core_Entity::factory('Shop', 1));
   $Shop_Controller_Show
      ->xsl(
         Core_Entity::factory('Xsl')
            ->getByName('МагазинГруппыТоваровНаГлавной')
         )
      ->groupsMode('all')
      ->group(FALSE)
      ->limit(0);    

   $Shop_Controller_Show
      ->shopGroups()
      ->queryBuilder()
      ->leftJoin('shop_group_properties', 'shop_groups.shop_id', '=', 'shop_group_properties.shop_id')
      ->leftJoin('property_value_ints', 'shop_groups.id', '=', 'property_value_ints.entity_id',
         array(
            array('AND' => array('shop_group_properties.property_id', '=', Core_QueryBuilder::expression('`property_value_ints`.`property_id`')))
         )
      )
      ->open()
      // Идентификатор дополнительного свойства
      ->where('shop_group_properties.property_id', '=', 66)
      // Значение дополнительного свойства
      ->where('property_value_ints.value', '=', 1)
      ->close()
      ->groupBy('shop_groups.id');

   $Shop_Controller_Show->show();
}
если все группы принадлежат /shop/group2/ вместо group(false) нужно указать id этой группы
Re: Определенные группы товаров на главной странице.
h4mpy писал(а):

Добрый день. Спасибо за ответ, только возникли вопросы.
Указанный вами код вставил в макет для главной страницы, изменив строчку
->where('shop_group_properties.property_id', '=', 66)

на
->where('shop_group_properties.property_id', '=', 60)

с моим идентификатором.
Но фильтрация работает только для групп 1-ого уровня (вида shop/group1, shoup/group2 и т.д.) с включённым доп. свойством и не работает для вложенных групп.
Вариант про
h4mpy писал(а):
если все группы принадлежат /shop/group2/ вместо group(false) нужно указать id этой группы

тоже не помогает.
Подскажите, пожалуйста, как быть дальше ?
Использую HostCms в редакции Корпорация
Re: Определенные группы товаров на главной странице.
         <xsl:apply-templates select="shop_group"/>
у вас обрабатываются только группы первого уровня..можете сделать так
         <xsl:apply-templates select="//shop_group"/>
или раскомментировать блок "Если есть подгруппы" в xsl...и вложенные группы не попадут в выборку, если у родительской не стоит этот флажок (по моему)
Re: Определенные группы товаров на главной странице.
h4mpy писал(а):
или раскомментировать блок "Если есть подгруппы" в xsl...и вложенные группы не попадут в выборку, если у родительской не стоит этот флажок (по моему)

так не работает.
h4mpy писал(а):
у вас обрабатываются только группы первого уровня..можете сделать так
         <xsl:apply-templates select="//shop_group"/>

а вот так заработало.
Только если у родительской группы 1-ого уровня не включено доп. свойство, то ничего не выводится.
А если включено, то выводится и она, и её подгруппы с включенным свойством.
Использую HostCms в редакции Корпорация
Re: Определенные группы товаров на главной странице.
В xml попадают группы только уровня с заполенным свойством. А нужно чтобы попадали любые группы! Помогите ребята, весь день ушел на понимание этого вопроса и без результатов.
изучаю hostcms 6
Авторизация