Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
отображение запроса USEL в виде запроса SQL

Автор BaceHРаздел Custom макросы

Ответов: 5
Просмотров: 4604
Последний ответ 11 Января 2013, 19:48:58
от admin
Прошу помощи с usel - необходимо отфильтровать новости по кастомному полю

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

Ответов: 11
Просмотров: 6956
Последний ответ 05 Марта 2012, 23:01:29
от Aksuk
Вывод объектов каталога через USEL по элементу в справочнике

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

Ответов: 6
Просмотров: 4960
Последний ответ 20 Июля 2013, 20:31:56
от NOIRMAN
Вывод порядковый номер (нумерация) при usel выдачи

Автор atachРаздел Custom макросы

Ответов: 5
Просмотров: 3665
Последний ответ 25 Сентября 2013, 13:37:27
от admin
Пагинация при выводе данных через usel

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

Ответов: 9
Просмотров: 5837
Последний ответ 18 Декабря 2013, 23:48:27
от Axiomateria

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

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #60 : 17 Марта 2016, 14:46:13 »
И снова попробуем.

Вы до сих пор не можете сказать что именно вам нужно сделать. Вы не можете ответить на уточняющий вопрос, который вам задается. Как вы хотите чтобы вам помогли?

Кто такой "текущий item" в вашем понимании?
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #61 : 17 Марта 2016, 14:54:28 »
Как сказать правильно сказать?

Текущий item - в котором находится всплывающий блок, в котором находится карусель из Специалистов.
« Последнее редактирование: 17 Марта 2016, 14:57:33 от Sumrakrnd »

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #62 : 17 Марта 2016, 15:00:09 »
Я не понимаю о чем идет речь.
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #63 : 17 Марта 2016, 15:37:11 »
Я ж описывала как работает меню.
Что в меню есть Направления, если выбрать Направление появляется всплывающий блок, в котором находится блок со Специалистами.

Так вот, в этом блоке должны быть те Специалисты, которые относятся к данному item.
Т.е. мне получается надо выбирать id текущего item, которое в данный момент выбрано.
xml меню дать?

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #64 : 17 Марта 2016, 16:03:12 »
Вы описываете как пользователь. Это не помогает.
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #65 : 17 Марта 2016, 16:09:51 »
Потому что сейчас я могу описать только пользовательскую работу меню, а не программное.
Если бы я знала полностью, что мне делать, то я бы тут наверное и не писала бы.
Проблема  в том, что и примеров найти не могу =_=...

Поэтому и формирую очень по простому вопрос.
Как взять id текущего item, вроде выяснили, что item это страница. Но как выбрать id страницы, что относится к текущему item?


*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #66 : 17 Марта 2016, 16:16:56 »
Ну вопросы вы задаете програмистские. Значит чтобы хотя бы осознать ответ у вас должна быть соответствующая квалификация. Ну или она должна быть у кого-то другого.

Для ответа на ваш вопрос все еще недостаточно исходных данных.

Если пофантазировать и предположить, то видимо у вас нет понимания как работает XSLT и вы пытаетесь нахрапом или же готовыми примерами решить какую-то элементарную задачу. В частности, вы пытаетесь получить id страницы имея при этом список из item, но не понимая, что в item есть @id и это и есть @id страницы.
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #67 : 17 Марта 2016, 16:28:00 »
Что-то разобрала в работе XSLT, что-то еще нет, из-за того, что перелопачиваю кучу информации, в голове уже каша.
И из-за этого скорее всего есть пробелы или просто не всегда понимаю, что одно решение, может спокойно применимо в другом случае.

Я не просто примерами решаю задачу, я беру пример, раскладываю его по полочкам соотнеся с теорией.

Что id страницы и item одно и тоже, я поняла.

Но /result/page/@id не работает в данном случае...
Если я его прописываю, то вообще ничего не выводит.

Каких данных не хватает?
Могу показать свое xsl меню и xml этого меню
« Последнее редактирование: 17 Марта 2016, 16:30:02 от Sumrakrnd »

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #68 : 17 Марта 2016, 16:53:45 »
мы должны угадать куда вы прописываете какой-то id или все-таки будет кусок кода?
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #69 : 17 Марта 2016, 17:14:34 »
Надеюсь я правильно вас поняла.


Это код меню. Где выводится карусель стоит комментарий.
    <xsl:template match="udata[@module = 'content'][@method = 'menu']" mode="top_menu">
        <xsl:apply-templates select="item" mode="top_menu"/>
    </xsl:template>

    <xsl:template match="udata[@module = 'menu']/item" mode="top_menu">
        <!--выбираются изображения неактивных разделов страниц-->
        <xsl:variable name="menu_bg" select="document(concat('upage://', @id, '.menu_pic_ua'))/udata/property/value" />
        <xsl:variable name="menu_bg_style" select="concat('background-image: url(', $menu_bg, ');')" />

        <li class="tab">
            <!-- изображения неактивных разделов страниц вставляются как инлайн background-image -->
            <xsl:attribute name="style">
                <xsl:value-of select="$menu_bg_style" />
            </xsl:attribute>
<!-- Ховер для tab-->
<div class="inner-hover"></div>

            <span>
                <xsl:value-of select="."/>
            </span>
            <xsl:apply-templates select="document(concat('udata://content/menu/0/2/', @id))/udata" mode="top_drop">
                <xsl:with-param name="position" select="position()"/>
            </xsl:apply-templates>
        </li>
    </xsl:template>

    <xsl:template match="udata" mode="top_drop"/>

    <xsl:template match="udata[items]" mode="top_drop">
        <xsl:param name="position"/>
        <div class="tab-content">
            <div class="menu__wrap">
                <xsl:if test="count(items/item) &gt; 20">
                    <xsl:attribute name="class">menu__wrap menu__wrap--long-list</xsl:attribute>
                </xsl:if>
                <ul>
                    <xsl:apply-templates select="items/item" mode="top_drop"/>
                </ul>

            </div>
            <xsl:if test="count(items/item) &gt; 20">
                <button class="btn-menu__show-more">Все отделения</button>
            </xsl:if>
        </div>
    </xsl:template>

    <xsl:template match="item" mode="top_drop">

        <li>
            <xsl:choose>
                <xsl:when test="position() = 20">
                    <xsl:attribute name="class">long-list-breaker</xsl:attribute>
                </xsl:when>
                <xsl:when test="items/item">
                    <xsl:attribute name="class">dropdown</xsl:attribute>
                </xsl:when>
                <xsl:when test="position() = 20 and items/item">
                    <xsl:attribute name="class">dropdown long-list-breaker</xsl:attribute>
                </xsl:when>
            </xsl:choose>
            <xsl:value-of select="link"/>
            <a href="{@link}">
                <xsl:value-of select="@name"/>
            </a>
            <xsl:apply-templates select="items" mode="top_drop3"/>
        </li>
    </xsl:template>


    <xsl:template match="items" mode="top_drop3">
        <span class="polygon"></span>
        <div class="under_menu">
            <div class="block-link">
                <span><a href="/action" class="orange">Акции</a></span>
                <span><a href="/price" class="blue">Цены</a></span>
            </div>
            <div class="block-info">
                <div class="list-services">
                    <xsl:apply-templates select="item" mode="top_drop3"/>
                </div>
<!-- здесь выводится карусель со Специалистами -->
<div class="carousel-container">
<xsl:apply-templates select="document(concat('usel://carousel_main/', 'upage://', @id))/udata" mode="carousel_specialisty" />
<!--<xsl:apply-templates select="document(concat('usel://carousel_main/', 'udata://content/menu/0/2/', @id))/udata" mode="carousel_specialisty" />--><!-- тестовый вариант вывода специалистов -->
<!--<xsl:apply-templates select="document(concat('usel://main/272/148', /result/page/@id))/udata" mode="carousel_specialisty" />--><!-- тестовый вариант вывода специалистов -->

<button class="prev"></button>
<button class="next"></button>
</div>
            </div>
        </div>
    </xsl:template>

    <xsl:template match="item" mode="top_drop3">
        <a href="{@link}">
            <xsl:value-of select="@name"/>
        </a>
    </xsl:template>

<!-- specialisty carousel -->
    <xsl:template match="udata" mode="carousel_specialisty">
<ul class="carousel">
<xsl:apply-templates select="page" mode="carousel_human"/>
</ul>
</xsl:template>
<xsl:template match="page" mode="carousel_human">
<li><a href="{@link}" class="link_human">
<span class="text">
<img src="{extended/properties/property[@name='fotografiya']/value}" alt="" />
<big><xsl:value-of select="extended/properties/property[@name = 'familiya']/value"/></big>
<small><xsl:value-of select="extended/properties/property[@name = 'imya_otchestvo']/value"/></small>
</span></a>
<a href="#win1" class="apply">записаться</a>
</li>
</xsl:template>

кусочек xml меню
<udata module="content" method="menu" generation-time="0.069381">
<items>
<item id="330" link="/napravleniya/kategoria1/napravleniya1/" name="Направление1" alt-name="napravleniya1" xlink:href="upage://330">Направление1</item>
<item id="283" link="/napravleniya/kategoria1/napravleniya2/" name="Направление2" alt-name="napravleniya2" xlink:href="upage://283">
<items>
<item id="445" link="/napravleniya/kategoria1/napravleniya2/razdel1/" name="Раздел1" alt-name="razdel1" xlink:href="upage://445">Раздел1</item>
<item id="446" link="/napravleniya/kategoria1/napravleniya2/razdel2/" name="Раздел2" alt-name="razdel2" xlink:href="upage://446">Раздел2</item>
<item id="449" link="/napravleniya/kategoria1/napravleniya2/razdel3/" name="Раздел3" alt-name="razdel3" xlink:href="upage://449">Раздел3</item>
<item id="444" link="/napravleniya/kategoria1/napravleniya2/razdel4/" name="Раздел4" alt-name="razdel4" xlink:href="upage://444">Раздел4</item>
</items>
Направление2
</item>
</items>
<id>277</id>
</udata>


usel
<?xml version="1.0" encoding="utf-8"?>
<!--выбрать-->
<selection>
    <target result="pages">
        <type id="148" />
    </target>
    <property name="napravlenie">
        <page>{1}</page>
    </property>
<extended>
        <properties>fotografiya, familiya, imya_otchestvo, dolzhnost, kratkaya_dolzhnost, napravlenie, specialisty</properties>
</extended>
</selection>

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #70 : 17 Марта 2016, 17:43:42 »
Пользуйтесь отладкой и сразу увидите ошибку. Вы умеете пользоваться отладкой?

document(concat('usel://carousel_main/', 'upage://', @id))/udata - эта конструкция содержит бред

Наверное это потому, что вы не понимаете сути оператора concat

concat собирает строки в одну

То есть в вашем случае
document(concat('usel://carousel_main/', 'upage://', @id))/udata
равносильно
document(concat('usel://carousel_main/upage://', @id))/udata
что равносильно бреду.

Хотите подставить первым параметром id - так подставляйте его. Зачем использовать upage?
Мой блог http://umicms.me

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #71 : 17 Марта 2016, 17:44:50 »
Пожалуйста, обратите внимание! В каждом своем посте я указываю ваши слабые места. Если вы увидите это и будете их подтягивать, то ваши вопросы отпадут сами собой.
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #72 : 17 Марта 2016, 18:00:46 »
Да вроде понимаю.
Просто это был тоже экспериментальный вывод.
Сейчас в комментариях указано три тестовых вывода, но они просто выводят всех специалистов в карусель.

А вот как обратиться к id страницы в item, чтобы были Специалисты соответствующие конкретному id...

Если я прописываю document('usel://carousel_main/320')/udata - то Специалисты появляются Направления с id 320

document(concat('usel://carousel_main/', /result/page/@id или page/@id или @id ))/udata - то ничего не выводит, совсем



*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #73 : 17 Марта 2016, 18:47:55 »
Вы взяли за основу стандартный шаблон demodizzy?
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #74 : 17 Марта 2016, 19:01:13 »
для чего?
Карусели, специалистов или меню?


Хотя чего спрашиваю..
Для меню я использовала draw для первых 4 категорий, а потом использовала content/menu, т.е. модуль меню.

"Самописная" карусель и Специалисты - страницы контента.

Правильно поняла вопрос?

P.S: туплю.... да стандартный
« Последнее редактирование: 17 Марта 2016, 19:06:06 от Sumrakrnd »