Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

infezoka

  • *
  • 2
  • +0/-0
    • Просмотр профиля
постраничный вывод каталога
« : 07 Апрель 2017, 10:40:33 »
Добрый день, есть проблема с постраничным выводом каталога, на данный момент выводиться весь каталог на одной странице чем сильно тормозит сайт. Как разбить каталог на страницы по 12-24 объектов?
Сейчас используется вот такой макрос.


<xsl:template match="item" mode="catalog_list">
   <xsl:if test="document(concat('udata://catalog/getObjectsList/notemplate/', @id))/udata/total > 0">
      <xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/notemplate/', @id,  '/500/0'  ))/udata" mode="catalog_page_list"/>
   </xsl:if>
   <xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/notemplate/', @id))/udata/items/item" mode="catalog_list"/>
</xsl:template>
 
<xsl:template match="udata[@module='catalog' and @method='getObjectsList']" mode="catalog_page_list">
   <xsl:apply-templates select="lines/item" mode="catalog_page" />      
</xsl:template>

*

aghigay

  • *****
  • 607
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: постраничный вывод каталога
« Ответ #1 : 03 Май 2017, 22:52:07 »
http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getobjectslist/
у вас указано выводить 500 товаров. Ничего удивительного что все тупит. Уменьшите количество до 12 и молитесь, что ваш шаблон сам подхватит пагинацию. Ну или сделайте её.
Мой блог http://umicms.me

*

infezoka

  • *
  • 2
  • +0/-0
    • Просмотр профиля
Re: постраничный вывод каталога
« Ответ #2 : 04 Май 2017, 10:55:42 »
с этим уже разобрался теперь другая проблема, слетает сортировка объектов в подкатегории, при использование макроса getObjectsList.
Объекты из категорий выводятся, на страницы разбивает, можно ли  сделать сортировку как расположено в админке?
1. Каталог
1.1. подкатегория Каталога
1.2. Объект
<xsl:template match="result[@module='catalog' and @method='category'][@pageId='31']">       
<div class="right_col">
<div class="col_in" style="min-height:770px">
<h1 class="page_title" style="padding:0px"><xsl:value-of select="document(concat('upage://', @pageId))//property[@name='h1']/value" /></h1>
<div class="page content" style="padding: 5px;">
<xsl:value-of select=".//property[@name = 'descr']/value" disable-output-escaping="yes" />
<br/>
</div>
<xsl:if test="document(concat('udata://catalog/search/',@id))/udata/group">
<xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/notemplate/', @pageId,  '/',  '/0/10/' ))/udata" mode="catalog_page"/>
</xsl:if>
</div>
</div>
</xsl:template>



*

aghigay

  • *****
  • 607
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: постраничный вывод каталога
« Ответ #3 : 04 Май 2017, 13:46:16 »
1. Не пользуйтесь макросом getObjectsList - он устарел и в ближайших версиях может просто исчезнуть из ЮМИ
2. Сортировка как расположено в админке - это видимо не то, что вам нужно. Судя по примеру, вы хотите отразить иерархию вложенности. Раз так - значит на каждом очередном отображении объекта или раздела запрашивайте вложенные в него объекты или разделы. Но только делать так не следует, ибо это крайне ресурсоемко.
Мой блог http://umicms.me