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

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

*

webtrend

  • **
  • 86
  • +0/-0
    • Просмотр профиля
Добрый день, подскажите, необходимо сделать следующее, есть структура
Каталог
-Сантехника(подкатегория)
--Ип 1(подкатегория)
---водопровод(объект)
--Ип2(подкатегория)

Так вот задача вывести подкатегории где есть вложенные объекты с кнопкой подробнее, а где нету объектов без этой кнопки
Вывод осуществляем
<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/void/', page/@id))" mode="category" />
Далее
<xsl:template match="udata[@method = 'getCategoryList']" mode="category">
<div class="all-product-area">
<div class="row">
<xsl:apply-templates select="//item" mode="category" />
</div>
</div>
</xsl:template>
Далее
<xsl:template match="udata[@method = 'getCategoryList']//item" mode="category">

<a href="{@link}" class="button" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;">
<xsl.text>Подробно</xsl.text>
</xsl:template>


*

aghigay

  • *****
  • 602
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Вывести каталог с разным внешним видом
« Ответ #1 : 25 Апрель 2016, 15:02:16 »
А в чем сложность? Берете http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getobjectslist/ и проверяете сколько вернул результата. Вроде все просто?
Мой блог http://umicms.me

*

webtrend

  • **
  • 86
  • +0/-0
    • Просмотр профиля
Re: Вывести каталог с разным внешним видом
« Ответ #2 : 25 Апрель 2016, 15:07:07 »
Немного не понял, у меня же выдаются подразделы, мне то нужно чтоб кнопка подробнее выдавалась у подразделов у которых есть объекты.
Если я что то неправильно понимаю, напишите пожалуйста что и куда нужно вставить в код.

*

aghigay

  • *****
  • 602
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Вывести каталог с разным внешним видом
« Ответ #3 : 25 Апрель 2016, 15:10:52 »
Вы получаете список подразделов, так?
В этом списке есть название подраздела и его ID, так?
По предложенной функции получаете список товаров в нужном разделе используя concat и ID подраздела из списка подразделов.
Мой блог http://umicms.me

*

webtrend

  • **
  • 86
  • +0/-0
    • Просмотр профиля
Re: Вывести каталог с разным внешним видом
« Ответ #4 : 25 Апрель 2016, 15:16:26 »
Это Вы все правильно говорите, но возможно я объяснил не правильно, задача стоит следующая, я захожу в каталог, перехожу в сантехнику, там у меня выпадают все ИП с картинкой магазина и названием, далее если у ИП есть товары(объекты) то стоит кнопочка подробнее при нажатии на которую я попадаю на страницу с описанием данного ИП и вот там я уже вижу список выпадающих объектов, просто перечислением без подробного ознакомления, а если к примеру товаров нет, то я не вижу кнопочку подробнее и соответственно не могу ознакомиться ни с описанием ИП ни со списком объектов относящихся к нему.

*

aghigay

  • *****
  • 602
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Вывести каталог с разным внешним видом
« Ответ #5 : 25 Апрель 2016, 15:50:34 »
Так, и в чем противоречие с тем, что я описал? Пока не вижу его.
Мой блог http://umicms.me

*

webtrend

  • **
  • 86
  • +0/-0
    • Просмотр профиля
Re: Вывести каталог с разным внешним видом
« Ответ #6 : 25 Апрель 2016, 15:52:32 »
Если не затруднит, можно конкретно написать что и куда мы вставляем? а то образно и логически все понятно, и было изначально, а что и куда вставить в коде не ясно

*

aghigay

  • *****
  • 602
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Вывести каталог с разным внешним видом
« Ответ #7 : 26 Апрель 2016, 00:06:38 »
Самый простой и прямой подход:
    <xsl:template match="udata[@method = 'getCategoryList']//item" mode="category">
        <xsl:if test="document(concat('udata://catalog/getObjectsList/notemplate/', @id))/udata/total &gt; 0">
            <a href="{@link}" class="button" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;">
                <xsl.text>Подробно</xsl.text>
            </a>
        </xsl:if>
    </xsl:template>
Но у него могут быть проблемы с производительностью, так что использовать его или нет - нужно решать по факту и по месту.
Мой блог http://umicms.me