Отображение товаров и категорий товаров

#
Отображение товаров и категорий товаров
Добрый день, уважаемые знатоки. Подскажите, пожалуйста, как будет правильно вывести сначала категории, а уже потом, в категориях, вывод товаров.
Сейчас это выглядит так:
К примеру:
https://vipechka1.ru/catalog/zavtraki/
На страничке
https://vipechka1.ru/catalog/ выводятся все товары по такому же принципу. Что и как сделать, чтобы вот тут https://vipechka1.ru/catalog/  вывести группы, а в каждой конкретной категории - товары?
#
Re: Отображение товаров и категорий товаров
Вы хотите чтобы только группы выводились в корне или группы и товары?
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Отображение товаров и категорий товаров
Только группы
#
Re: Отображение товаров и категорий товаров
1. Распределите товар по группам,большое количество у вас в корне магазина.
2. В xsl шаблоне каталога нужно описать сам вывод групп. Пример из стандартных шаблонов:

<xsl:variable name="group" select="group"/>
<div class="category-list">
   <xsl:apply-templates select=".//shop_group[parent_id=$group][position() mod $n = 1]"/>
</div>

<!-- Шаблон для групп товара -->
   <xsl:template match="shop_group">
      <div class="row">
         <xsl:for-each select=". | following-sibling::shop_group[position() &lt; $n]">
            <div class="col-xs-12 col-md-4 text-align-center">
               <div class="category">
                  <div class="category-image">
                     <a href="{url}">
                        <xsl:choose>
                           <xsl:when test="image_small != ''">
                              <img src="{dir}{image_small}"/>
                           </xsl:when>
                           <xsl:otherwise>
                              <img src="/images/default-image.png"/>
                           </xsl:otherwise>
                        </xsl:choose>
                     </a>
                  </div>
                  <a class="category-name" href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of select="name"/></a>
               </div>
            </div>
         </xsl:for-each>
      </div>
   </xsl:template>


«Не выходи из комнаты, не совершай ошибку…»
#
Re: Отображение товаров и категорий товаров
Я так и сделал, вот мой код групп:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:hostcms="http://www.hostcms.ru/"
   exclude-result-prefixes="hostcms">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <!-- МагазинГруппыТоваровНаГлавной -->
   
   <xsl:template match="/">
      <xsl:apply-templates select="/shop"/>
   </xsl:template>
   
   <!-- Шаблон для магазина -->
   <xsl:template match="/shop">
      <p class="h1">Каталог продукции</p>
      <div class="shop_list" id="jr-catalog">
         <div class="row">
            <xsl:apply-templates select="shop_group"/>
         </div>
      </div>
   </xsl:template>
   
   <!-- Шаблон для групп товара -->
   <xsl:template match="shop_group">
      <div class="col-md-4 mb-4">
         <div class="shop-list-item-wrap-all">
            <div class="jr-shadow"></div>
            <div class="shop-list-item-wrap">
               <div class="shop-list-item">
                  <a class="shop-list-href" href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group">
                     <xsl:value-of select="name"/>
                     <xsl:if test="image_small!=''">
                        
                        <img src="{dir}{image_small}" align="middle"/>
                        
                     <xsl:text> </xsl:text></xsl:if>
                     <div class="btn-see">Посмотреть</div>
                  </a>
               </div>
            </div>
         </div>
      </div>
   </xsl:template>
</xsl:stylesheet>
Но если я его вывожу в качестве XSL каталога, то и на странице категории я получаю просто страницу категории, а не товары
#
Re: Отображение товаров и категорий товаров
Похоже вы зачем-то в xsl шаблоне полностью удалили вывод товаров.
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Отображение товаров и категорий товаров
llirik писал(а):

А что тогда нужно добавить сюда?
#
Re: Отображение товаров и категорий товаров
Сюда это куда?
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Отображение товаров и категорий товаров

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:hostcms="http://www.hostcms.ru/"
   exclude-result-prefixes="hostcms">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
  
   <!-- МагазинГруппыТоваровНаГлавной -->
  
   <xsl:template match="/">
      <xsl:apply-templates select="/shop"/>
   </xsl:template>
  
   <!-- Шаблон для магазина -->
   <xsl:template match="/shop">
      <p class="h1">Каталог продукции</p>
      <div class="shop_list" id="jr-catalog">
         <div class="row">
            <xsl:apply-templates select="shop_group"/>
         </div>
      </div>
   </xsl:template>
  
   <!-- Шаблон для групп товара -->
   <xsl:template match="shop_group">
      <div class="col-md-4 mb-4">
         <div class="shop-list-item-wrap-all">
            <div class="jr-shadow"></div>
            <div class="shop-list-item-wrap">
               <div class="shop-list-item">
                  <a class="shop-list-href" href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group">
                     <xsl:value-of select="name"/>
                     <xsl:if test="image_small!=''">
                        
                        <img src="{dir}{image_small}" align="middle"/>
                        
                     <xsl:text> </xsl:text></xsl:if>
                     <div class="btn-see">Посмотреть</div>
                  </a>
               </div>
            </div>
         </div>
      </div>
   </xsl:template>
</xsl:stylesheet>


Вот сюда ))))
#
Re: Отображение товаров и категорий товаров
Вывод товара нужно добавить, как вы его планируете выводить в каталоге.  Если правильно понимаю то в предыдущей версии этого xsl шаблона он у вас есть.
«Не выходи из комнаты, не совершай ошибку…»
Авторизация