Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Работа модуля Обратная связь (вставка форм в контент сайта) при XSLT

Автор ariusgroupРаздел Шаблоны XSLT

Ответов: 8
Просмотров: 3710
Последний ответ 17 Октябрь 2012, 15:29:17
от admin
XSLT: вызов существующего раздела из вновь созданной пустой старницы

Автор samРаздел Шаблоны XSLT

Ответов: 9
Просмотров: 1833
Последний ответ 16 Ноябрь 2014, 23:19:20
от admin
Создание типового сайта на XSLT в 20 шагов - Переделываем документацию.

Автор AlexMcРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 2230
Последний ответ 24 Апрель 2012, 15:56:31
от admin
вывод рекомендованных товаров не через выбор из списка (XSLT)

Автор shotoРаздел Шаблоны XSLT

Ответов: 22
Просмотров: 8418
Последний ответ 21 Май 2012, 13:27:35
от shoto
Новые товары каталога на главной странице сайта (xslt)

Автор wolfmanРаздел Шаблоны XSLT

Ответов: 7
Просмотров: 3658
Последний ответ 21 Сентябрь 2012, 21:09:41
от admin

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

*

idu.kuru

  • *
  • 17
  • +1/-0
    • Просмотр профиля
делал вывод количества объектов в категории
делал все строго по одноименной статье из вики http://wiki.umisoft.ru/%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8._XSLT

в результате получаю вывод как в статье


затем уменьшаю количество объектов на странице до 9 в стандартном шаблоне demodizzy в разделах Аудиотехникa и Телевизоры появляется пагинация. Затем если в любом из этих двух разделов перехожу на вторую страницу получаю следующий результат


во всех разделах кроме этих двух отображется 0 объектов

что я делаю не так?

*

admin

  • *****
  • 2443
  • +172/-1
    • Просмотр профиля
Re:Вывод количества объектов в категории. XSLT
« Ответ #1 : 16 Октябрь 2014, 15:26:18 »
Цитировать
во всех разделах кроме этих двух отображется 0 объектов

Предположу, что у вас в остальных разделах, суммарное кол-во таваров меньше 9?

Приведите сюда код шаблонов, которые вы используете для вывода левого блока с разделами и подразделами (понимаю что вы делали по статье, но перепроверить не лишнее)

и приведите сюда xml ответ при запросе со страницы, на которой у вас выводятся 0 в левом блоке, добавив к адресу страницы ?showStreamsCalls

*

idu.kuru

  • *
  • 17
  • +1/-0
    • Просмотр профиля
Re:Вывод количества объектов в категории. XSLT
« Ответ #2 : 16 Октябрь 2014, 17:27:01 »
Все верно товаров меньше 9 суммарно

left-column-category-list.xsl
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:umi="http://www.umi-cms.ru/TR/umi">


<xsl:template match="udata[@method = 'getCategoryList']" mode="left-column">
<ul class="catalog_menu" umi:button-position="bottom left"
umi:element-id="{@category-id}" umi:region="list" umi:module="catalog" umi:sortable="sortable">
<xsl:apply-templates select="//item" mode="left-column" />
</ul>
</xsl:template>


<xsl:template match="udata[@method = 'getCategoryList']//item" mode="left-column">
<li umi:element-id="{@id}" umi:region="row">
<span>
<a href="{@link}" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;">
<xsl:value-of select="." />
</a>(<xsl:value-of select="document(concat('udata://catalog/getObjectsList/no/', @id, '///10'))/udata/total" />)
</span>
[b]<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/void/', @id, '//1/'))" />[/b]
</li>
</xsl:template>

</xsl:stylesheet>

category-list.xsl
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:umi="http://www.umi-cms.ru/TR/umi">


<xsl:template match="udata[@method = 'getCategoryList']">
<ul umi:element-id="{@category-id}" umi:region="list" umi:module="catalog" umi:sortable="sortable" umi:button-position="top right">
<xsl:apply-templates select="//item" />
</ul>
</xsl:template>


<xsl:template match="udata[@method = 'getCategoryList']//item">
<li umi:element-id="{@id}" umi:region="row">
<a href="{@link}" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;">
<xsl:value-of select="." />
</a>(<xsl:value-of select="document(concat('udata://catalog/getObjectsList/no/', @id, '///10'))/udata/total" />)
</li>
</xsl:template>

</xsl:stylesheet>

глюк на страницах
http://localhost/shop/audiotehnika/?p=1
http://localhost/shop/televizory/?p=1

http://localhost/shop/audiotehnika/?p=1?showStreamsCalls выдает туже страницу вместо XML

*

admin

  • *****
  • 2443
  • +172/-1
    • Просмотр профиля
Re:Вывод количества объектов в категории. XSLT
« Ответ #3 : 16 Октябрь 2014, 22:43:17 »
Еще код укажите, который вызываете чтобы вывести в левой колонке список разделов и подразделов.

Цитировать
http://localhost/shop/audiotehnika/?p=1?showStreamsCalls выдает туже страницу вместо XML
немного не так, попробуйте такой вариант
http://localhost/shop/audiotehnika/?p=1&showStreamsCalls выдает туже страницу вместо XML

*

idu.kuru

  • *
  • 17
  • +1/-0
    • Просмотр профиля
Re:Вывод количества объектов в категории. XSLT
« Ответ #4 : 16 Октябрь 2014, 23:28:47 »
спасибо, так вышел XML
<streams-call total-time="1.187919">
<call generation-time="0.032665">upage://contacts</call>
<call generation-time="0.027292">uobject://2</call>
<call generation-time="0.418241">udata://emarket/cart/</call>
<call generation-time="0.000914">udata://system/listErrorMessages</call>
<call generation-time="0.000810">udata://system/includeQuickEditJs</call>
<call generation-time="0.009933">uobject://352</call>
<call generation-time="0.012688">udata://menu/draw/hmenu</call>
<call generation-time="0.223195">udata://emarket/cart</call>
<call generation-time="0.015857">udata://content/menu/(null)/1/</call>
<call generation-time="0.012696">udata://news/lastlist/(news)</call>
<call generation-time="0.000536">udata://emarket/getCompareList</call>
<call generation-time="0.017168">udata://vote/insertlast/</call>
<call generation-time="0.013741">udata://dispatches/subscribe/</call>
<call generation-time="0.000399">udata://content/getRecentPages////3</call>
<call generation-time="0.093517">udata://banners/fastInsert/right_block/</call>
<call generation-time="0.012478">udata://catalog/getCategoryList/void/shop//1/</call>
<call generation-time="0.006961">udata://catalog/getObjectsList/no/35///10</call>
<call generation-time="0.006718">udata://catalog/getCategoryList/void/35//1/</call>
<call generation-time="0.002391">udata://catalog/getObjectsList/no/39///10</call>
<call generation-time="0.002422">udata://catalog/getObjectsList/no/40///10</call>
<call generation-time="0.002311">udata://catalog/getObjectsList/no/41///10</call>
<call generation-time="0.009430">udata://catalog/getObjectsList/no/37///10</call>
<call generation-time="0.009734">udata://catalog/getCategoryList/void/37//1/</call>
<call generation-time="0.002441">udata://catalog/getObjectsList/no/48///10</call>
<call generation-time="0.002368">udata://catalog/getObjectsList/no/2///10</call>
<call generation-time="0.002377">udata://catalog/getObjectsList/no/47///10</call>
<call generation-time="0.002311">udata://catalog/getObjectsList/no/46///10</call>
<call generation-time="0.016476">udata://catalog/getObjectsList/no/36///10</call>
<call generation-time="0.012292">udata://catalog/getCategoryList/void/36//1/</call>
<call generation-time="0.004707">udata://catalog/getObjectsList/no/45///10</call>
<call generation-time="0.002562">udata://catalog/getObjectsList/no/44///10</call>
<call generation-time="0.002447">udata://catalog/getObjectsList/no/42///10</call>
<call generation-time="0.002488">udata://catalog/getObjectsList/no/43///10</call>
<call generation-time="0.004403">udata://catalog/getObjectsList/no/38///10</call>
<call generation-time="0.010223">udata://catalog/getCategoryList/void/38//1/</call>
<call generation-time="0.002433">udata://catalog/getObjectsList/no/49///10</call>
<call generation-time="0.002415">udata://catalog/getObjectsList/no/51///10</call>
<call generation-time="0.002392">udata://catalog/getObjectsList/no/50///10</call>
<call generation-time="0.008864">udata://catalog/getObjectsList/37////2/</call>
<call generation-time="0.001201">udata://catalog/search</call>
<call generation-time="0.025526">upage://79</call>
<call generation-time="0.000962">upage://79.photo</call>
<call generation-time="0.054492">
udata://system/makeThumbnailFull/(./images/cms/data/magn_315.jpg)/154/110/void/0/1/
</call>
<call generation-time="0.010034">udata://emarket/price/79</call>
<call generation-time="0.004575">utype://124.item_properties</call>
<call generation-time="0.000541">udata://emarket/getCompareLink/79</call>
<call generation-time="0.004758">udata://comments/countComments/79</call>
<call generation-time="0.020027">upage://81</call>
<call generation-time="0.000946">upage://81.photo</call>
<call generation-time="0.029486">
udata://system/makeThumbnailFull/(./images/cms/data/technics_sb-g800.jpg)/154/110/void/0/1/
</call>
<call generation-time="0.005654">udata://emarket/price/81</call>
<call generation-time="0.000504">udata://emarket/getCompareLink/81</call>
<call generation-time="0.001404">udata://comments/countComments/81</call>
<call generation-time="0.001058">udata://system/numpages/11/9</call>
<call generation-time="0.012540">usel://info-pages</call>
<call generation-time="0.000651">udata://content/getMobileModesList/</call>
<call generation-time="0.000264">udata://system/convertDate/now/(Y)</call>
</streams-call>
<!--
 This page generated in 2.566432 secs by XSLT, SITE MODE
-->

*

admin

  • *****
  • 2443
  • +172/-1
    • Просмотр профиля
Re:Вывод количества объектов в категории. XSLT
« Ответ #5 : 16 Октябрь 2014, 23:45:44 »
особо не прояснил ситуацию, не могу понять почему, но попробуйте поправить в вызовах
(<xsl:value-of select="document(concat('udata://catalog/getObjectsList/no/', @id, '///10'))/udata/total" />)

добавить параметр и сделать их такими
(<xsl:value-of select="document(concat('udata://catalog/getObjectsList/no/', @id, '//1/10'))/udata/total" />)

*

idu.kuru

  • *
  • 17
  • +1/-0
    • Просмотр профиля
Re:Вывод количества объектов в категории. XSLT
« Ответ #6 : 18 Октябрь 2014, 17:39:24 »
сработало!!!

(<xsl:value-of select="document(concat('udata://catalog/getObjectsList/no/', @id, '//1/10'))/udata/total" />)

спасибо!