UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: BaceH от 10 Июля 2011, 13:44:03

Название: Пейджинг страниц каталога
Отправлено: BaceH от 10 Июля 2011, 13:44:03
Доброго времени суток.
 Есть проблема с модулем "Каталог".
 Если в разделе каталога товаров больше чем на одну страницу, при переходе на вторую страницу список категорий в левой колонке пропадает. То есть, если .../?p=0 - список категорий отображается, а если .../?p=1 или дрогое отличное от нуля, категории пропадают.
 Подскажите пожалуйста.
Название: Re:Пейджинг страниц каталога
Отправлено: admin от 10 Июля 2011, 14:18:39
дело в том, что если ты на этой странице выводишь какие-то "боковые" элементы, будь то списки категорий или списки новостей, то убедись что эти "боковые" выводы игнорируют пейджинг. Например в макросе %catalog getCategoryList()% (http://help-dev.umi-cms.ru/catalog.getCategoryList.html) есть параметр  ignore_paging по умолчанию равный false, вот если его выставить true, то список категорий слева не будет реагировать на параметр ?p=1 и т.п.
Название: Re:Пейджинг страниц каталога
Отправлено: BaceH от 10 Июля 2011, 14:39:30
Огромное человеческое спасибо.
Работает как и должно.
Название: Re:Пейджинг страниц каталога
Отправлено: thefate от 01 Августа 2011, 13:51:48
admin, у меня подобная гадость с новостями. На главной странице я вывожу к примеру 3 последние новости. В контексте если к примеру появляетсяпагинация страниц, то нажимая на страницу 2, те три новости также меняются тоже пагинация происходит.

В выводе новостей можно отключить пагинацию, чтобы три новости так и оставались висеть, а листание страниц основного содержания проходило как обычно.
Название: Re:Пейджинг страниц каталога
Отправлено: admin от 01 Августа 2011, 13:55:57
это вопрос? или просто пример из практики?
Название: Re:Пейджинг страниц каталога
Отправлено: thefate от 01 Августа 2011, 13:57:38
вопрос :)
Название: Re:Пейджинг страниц каталога
Отправлено: admin от 01 Августа 2011, 13:59:27
каким макросом выводишь новости в боковой панели? описание данного макроса в help-dev смотрел?
Название: Re:Пейджинг страниц каталога
Отправлено: thefate от 01 Августа 2011, 14:08:00
вывод через макрос %news lastlist(81, 'HL_news', 4)%
Название: Re:Пейджинг страниц каталога
Отправлено: thefate от 01 Августа 2011, 14:09:13
ааа, блин доперло, вот я тупил то все это время :)
это получсается так будет
%news lastlist(81, 'HL_news', 4, ignore_paging='1' )%

или %news lastlist(81, 'HL_news', 4, 1 )%
Название: Re:Пейджинг страниц каталога
Отправлено: admin от 01 Августа 2011, 14:10:04
нашел параметр игнорирования пейджинга в документации?)
Название: Re:Пейджинг страниц каталога
Отправлено: thefate от 01 Августа 2011, 14:12:35
нашел,
это макрос будет выглядеть так %news lastlist(81, 'HL_news', 4, 1 )%
Название: Re:Пейджинг страниц каталога
Отправлено: admin от 01 Августа 2011, 14:14:43
 :) документация ваш лучший друг
Название: Re:Пейджинг страниц каталога
Отправлено: thefate от 01 Августа 2011, 14:15:17
это точно. ! Спасибо за подсказки
Название: Re:Пейджинг страниц каталога
Отправлено: shoto от 04 Июля 2012, 15:15:38
Добрый день.
у меня в разделе сначала выводится список разделов, а под ним уже перечень товаров всех этих разделов.
Все хорошо на первой странице. Но переходя на вторую и более, разделы уже не отображаются. Точнее отображается внешнее оформление блока разделов, а самих разделов внутри нет.

Как правильно прописать вызов для игнорирования пейджинга.
старый вариант:
<xsl:apply-templates select="document('udata://catalog/getCategoryList/@pageId')" mode="razdely"/>
Название: Re:Пейджинг страниц каталога
Отправлено: admin от 05 Июля 2012, 12:35:26
опять же смотрим в документацию http://help-dev.umi-cms.ru/catalog.getCategoryList.html

в итоге у вас получится такой вызов
<xsl:apply-templates select="document('udata://catalog/getCategoryList/template/@pageId//1')" mode="razdely"/>

P.S. у вас, кстати, в вызове указан первый параметр как pageId, но первый параметр у данного макроса это шаблон
Название: Re:Пейджинг страниц каталога
Отправлено: shoto от 06 Июля 2012, 08:57:54
я смотрю в документацию
и смотрю как представлен вызов в демо-шаблоне.
и вот разница в вариантах написания вызова путает.
хотя я пробовала написать
<xsl:apply-templates select="document('udata://catalog/getCategoryList/@pageId//1')" mode="razdely"/>
что не приводило к нужному эффекту. а то что пропущен такой параметр как "шаблон" в голову не приходит.
Название: Re:Пейджинг страниц каталога
Отправлено: shoto от 06 Июля 2012, 09:08:48
ну... скажем так.... при использовании предложенного варианта вызова, у меня даже на первой странице пропали подразделы.
Название: Re:Пейджинг страниц каталога
Отправлено: shoto от 06 Июля 2012, 09:26:06
как ни удивительно, но заработало в следующем виде
<xsl:apply-templates select="document('udata://catalog/getCategoryList/@pageId///1')" mode="razdely"/>
Название: Re:Пейджинг страниц каталога
Отправлено: shoto от 09 Июля 2012, 10:55:30
но встал вопрос, а как НЕ выводить блок если подразделов нет?.а то сейчас получается что если подразделов нет в текущем разделе, то внешняя оболочка загружается <ul></ul>, а внутри пусто.
Название: Re:Пейджинг страниц каталога
Отправлено: admin от 09 Июля 2012, 16:12:27
делать проверку в шаблоне, по которому выводится все. То есть, примерно так:

<xsl:template match="udata[@method='getCategoryList']" mode="razdely" />

<xsl:template match="udata[@method='getCategoryList' and //item]" mode="razdely" >
выводим список или что там необходимо
</xsl:template>

Название: Re:Пейджинг страниц каталога
Отправлено: shoto от 09 Июля 2012, 16:25:41
Спасибо. все больше и больше нюансов узнается.
Название: Re:Пейджинг страниц каталога
Отправлено: KTI от 11 Июля 2012, 07:26:33
Ура! помогло, спасибо большое!  :D
Тоже была проблема, не выводился каталог при пейджинге,  т.е. на первой странице все нормально, при переходе на любую другую, каталог пропадал. Так и не дошло (до меня) почему это происходит.
Сейчас все как должно быть.
Пришлось поправить в 2 местах: default.xsl
<xsl:apply-templates select="document('udata://catalog/getCategoryList/void/catalog//1')" mode="left-column" />
и  left-column-category-list.xsl
<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/void/', @id, '//1'))" />
Название: Re:Пейджинг страниц каталога
Отправлено: KTI от 11 Июля 2012, 07:33:30
как ни удивительно, но заработало в следующем виде
<xsl:apply-templates select="document('udata://catalog/getCategoryList/@pageId///1')" mode="razdely"/>
У вас так заработало, потому-что: 1 параметр - это шаблон (в xslt игнорируется)
2 - id страницы (если не указан, берется id текущей страницы), поэтому работает, но правильно:
<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/void/', @pageId, '//1'))" mode="razdely"/>
т.е. 1 параметр любой, 2 - id и т.д.