UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: Sumrakrnd от 11 Марта 2016, 12:17:34

Название: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 11 Марта 2016, 12:17:34
Подумала я, и решила все-таки для этого вопроса создать новую тему.
Есть подозрение, что ошибка идет в usel запросе.

У меня есть в наличии страницы контента:
- Направления с типом данных 152, так же он доступен как справочник.
- Специалисты с типом данных 148, в котором есть поле Ссылка на дерево, которое соответственно выбраны Направления.

Задача: Надо выводить по два Специалиста в правой колонке на страницах с Направлением само по себе это не сложно. Но Специалисты должны соответствовать своему Направлению.

В итоге я вроде сделала usel запрос:
<?xml version="1.0" encoding="utf-8"?>
<selection>
<target expected-result="pages">
<type module="content" method="page" />
<type id="148"/>
</target>
<property name="napravlenie">
<object>152</object>
</property>
<extended>
        <properties>familiya, imya_otchestvo, dolzhnost, fotografiya, otdelenie, napravlenie, css_class, kratkaya_dolzhnost</properties>
</extended>
<limit page="0">2</limit>
</selection>
При проверке usel вызвав его через адресную строчку, теперь выдает мне 0...

И обращение должно быть такое:
<xsl:apply-templates select="document('usel://right_main')/udata/page"  mode="rightcol_specialisty" />
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 11 Марта 2016, 12:27:06
А 152 - это объект чтобы к нему обращаться в формате <property name="napravlenie"><object>152</object></property> ? То есть этот объект можно получить в формате uobject://152 ?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 11 Марта 2016, 12:43:02
Оу... проверила нельзя получает...
Вот xml этого поля:
<property id="547" name="napravlenie" type="symlink" is-important="0">
<title>Направление</title>
<value>
<page id="320" parentId="275" link="/napravleniya/obshchie-napravleniya/test1/" is-visible="1" is-active="1" object-id="1341" type-id="152" update-time="1456734656" alt-name="test1" xlink:href="upage://320">
<basetype id="30" module="content">Страницы контента</basetype>
<name>test1</name>
</page>
</value>
</property>

я ориентировалась по этому описанию..
http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/vyborki_iz_bd_protokol_usel/#sel=127:1,127:2

Просто я так поняла page это для id страницы, а object грубо говоря надо использовать для типа данных.

Но если следовать данной структуре, я тогда не знаю какой параметр должен быть в page, я пробовала поставить туда id типа данных. Но и он соответственно выдает 0
А через линк... это получается каждую страницу вписывать? @_@

P.S: еще чувство, будто я данные местами путаю..
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 11 Марта 2016, 14:07:14
Может быть никакую страницу вписывать не нужно?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 11 Марта 2016, 14:23:12
Ооо... т.е. для Ссылки на дерево это поле не обязательно получается?

А как теперь проверку настроить?
Просто у меня все равно выводит пока по условию первых двух, и не учитывая поле napravlenie
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 11 Марта 2016, 15:06:44
Я бы предложил писать что-то типа <property name="napravlenie" value="152" />
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 11 Марта 2016, 16:13:09
Опять ноль
<udata module="usel" method="right_main" generation-time="0.014157">
<total>0</total>
</udata>


вывод в шаблон:
<xsl:apply-templates select="document('usel://right_main')/udata/page" mode="rightcol_specialisty" />




До появление проблемы с привязкой к направлениям, а просто вывод двух Специалистов рандомно в правой колонке был такой.
Шаблон:
 									<xsl:choose>
<xsl:when test="result/page/@type-id='152'">
<xsl:apply-templates select="result" mode="rightcol_specialisty" />
</xsl:when>
<xsl:when test="result/page/@type-id='172'">
<xsl:apply-templates select="result" mode="rightcol_specialisty" />
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>

Запрос:
 	<xsl:template match="result" mode="rightcol_specialisty">
<ul>
<xsl:apply-templates select="document('usel://right_main/272/148')" mode="human"/>
</ul>
</xsl:template>

<xsl:template match="udata" mode="human">
<xsl:apply-templates select="page" mode="human"/>
    </xsl:template>

<xsl:template match="page" mode="human">
<li class="info_bg">
<a href="{@link}">
<span class="text">
<img src="{extended/properties/property[@name='fotografiya']/value}" alt="" />
<big>
<xsl:value-of select="extended/properties/property[@name = 'familiya']/value"/><br/>
<i><xsl:value-of select="extended/properties/property[@name = 'imya_otchestvo']/value"/></i>
</big>
<small><xsl:value-of select="extended/properties/property[@name = 'kratkaya_dolzhnost']/value" disable-output-escaping="yes"/></small>
</span>
</a>
<a href="#win1" class="apply">записаться</a>
</li>
</xsl:template>

xml:
<?xml version="1.0" encoding="utf-8"?>

<selection>
     <target expected-result="pages">
        <type id="148"/>
<type module="content" method="page" />
<category>{1}</category>
    </target>
    <extended>
        <properties>fotografiya, familiya, imya_otchestvo, kratkaya_dolzhnost, napravlenie</properties>
    </extended>
         <sort>rand()</sort>
    <limit page="0">2</limit>
</selection>
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 11 Марта 2016, 16:15:29
Ну может не стоит пихать <type id="148"/> и <type module="content" method="page" /> в одну выборку?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 11 Марта 2016, 17:11:59
Я думала для точности надо указать, что у меня Контент страницы... Оба были правильными и вроде ограничений на type в описании не было ><
<?xml version="1.0" encoding="utf-8"?>
<selection>
  <target result="pages">
<type id="148" />
</target>
<property name="napravlenie" value="152"/>
<extended>
        <properties>fotografiya, familiya, imya_otchestvo, kratkaya_dolzhnost, napravlenie</properties>
    </extended>
<!-- <sort>rand()</sort>-->
    <limit page="0">2</limit>
</selection>

Выдает:
<udata module="usel" method="right_main" generation-time="0.010586"><total>0</total></udata>



P.S: вопрос, а может для использования поля Ссылки на дерево, надо его в Направлении сделать, а не у Специалиста?
Ведь в правой колонке на странице Направления должны вывестись нужные Специалисты.

P.P.S.: хотя нет, логичней по первому варианту..
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 11 Марта 2016, 17:36:53
Собственно, рекомендую проверить есть ли страницы с type_id 148 и заполненным значением в поле napravlenie равным 152, а так же пока убрать вывод extended полей
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 11 Марта 2016, 17:42:28
Собственно, рекомендую проверить есть ли страницы с type_id 148 и заполненным значением в поле napravlenie равным 152, а так же пока убрать вывод extended полей

Да есть, уже проверяла. Вот.
<property id="547" name="napravlenie" type="symlink" is-important="0">
<title>Направление</title>
<value>
<page id="320" parentId="275" link="/napravleniya/obshchie-napravleniya/test1/" is-visible="1" is-active="1" object-id="1341" type-id="152" update-time="1456734656" alt-name="test1" xlink:href="upage://320">
<basetype id="30" module="content">Страницы контента</basetype>
<name>test1</name>
</page>
</value>
</property>

P.S.: Не у всех Направлений есть Специалисты
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 11 Марта 2016, 18:04:30
Вот мне интересно, а почему самостоятельно в голову не приходит мысль, что тут нет id = 152, object_id = 152 и даже, на худой конец, parent_id = 152, а есть только type_id = 152. Может нужно задуматься о том, что что-то пошло не так?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 11 Марта 2016, 18:31:43
Вот мне интересно, а почему самостоятельно в голову не приходит мысль, что тут нет id = 152, object_id = 152 и даже, на худой конец, parent_id = 152, а есть только type_id = 152. Может нужно задуматься о том, что что-то пошло не так?
т.е. вы хотите сказать, что можно прописывать вот так что ли <type type_id="148" /> !? О.о
Просто про это о Usel ничего не написано...
А других познаний у меня в usel как-то нету и писала свой usel я по статье у umi что лежит -_-

У меня есть Специалисты  с типом данных 148, у них есть поле Ссылка на дерево napravlenie.
На страницах Направлений в правой колонке надо вывести 2 Специалиста относящихся к этому Направлению.

Поэтому обратилась к типу данных Специалистов с проверкой(грубо говоря) того что у них есть поле Ссылка на дерево napravlenie.

И делаю вывод в шаблон:
<xsl:apply-templates select="document(concat('usel://right_main/', /result/page/@id))" mode="rightcol_specialisty" />
С ним хотя бы выводит тот 0, который мне дает usel

Я с начала задумалась, что пошло что-то не так, поэтому и написала.
И кусочек xml со страницы с типом данных 148(т.е. Специалиста), который я скинула вам, скидывала еще в
Цитировать
Ответ #2 : Сегодня в 12:43:02
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 11 Марта 2016, 19:15:29
Не делайте вывод в apply-templates - там ничего не видно
Делайте вывод в формате http://site.ru/usel/right_main/12
Где 12 - это идентификатор страницы. На всякий случай говорю: у вас свой идентификатор страницы и взяв 12 вы ничего не получите.

Учите матчасть!
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 11 Марта 2016, 19:35:19
К сожалению выводить
<udata module="usel" method="right_main" generation-time="0.010851">
<total>0</total>
</udata>
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 11 Марта 2016, 20:55:56
какой запрос по какому usel это выводит? (пишите грамотно пожалуйста!)
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 11 Марта 2016, 23:48:30
По сути у меня сейчас есть только usel

Есть Направление - тип данных 152
Есть Специалисты - тип данных 148

И по нему мне надо, чтобы на страницах с Направлениями, выводились в правой колонке два Специалиста этого Направления.
Я нашла, что это можно сделать создав поле Ссылка на дерево в типе данных для Специалиста.
Так появилось поле Ссылка на дерево с именем napravlenie.

В итоге на основе примера и после прочтения протоколов родился usel:

<?xml version="1.0" encoding="utf-8"?>
<selection>
  <target result="pages">
<type id="148" />
</target>
<property name="napravlenie"/>
<!-- <sort>rand()</sort>-->
       <limit page="0">2</limit>
</selection>

Ориентировалась я на эту статью, и проблема в том, что она идет на основе каталога, поэтому я решила написать дополнительно <type module="content" method="page" />, думала это важно будет в запросе... Немного  не поняла для чего в примере указан <page>{1}</page>
Я находила еще пару тем, но в них не разбирался xml код  :(
Еще мне кажется я местами перепутала расположение поля Ссылка на дерево...><

Добавление уже имеющихся объектов каталога в другие категории через дополнительное поле "ссылка на дерево" (http://wiki.umisoft.ru/%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D0%B6%D0%B5_%D0%B8%D0%BC%D0%B5%D1%8E%D1%89%D0%B8%D1%85%D1%81%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0_%D0%B2_%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B5_%22%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%22)

Просмотр xml страниц Специалистов показало, что поле есть.
<property id="547" name="napravlenie" type="symlink" is-important="0">
<title>Направление</title>
<value>
<page id="320" parentId="275" link="/napravleniya/obshchie-napravleniya/test1/" is-visible="1" is-active="1" object-id="1341" type-id="152" update-time="1456734656" alt-name="test1" xlink:href="upage://320">
<basetype id="30" module="content">Страницы контента</basetype>
<name>test1</name>
</page>
</value>
</property>

Но при вызове right_main в адресной строке получаю:
<udata module="usel" method="right_main" generation-time="0.016996"><total>0</total></udata>


P.S.: Просто вывести два специалиста в рандомном порядке на страницах направления у меня получилось.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 12 Марта 2016, 00:05:50
Много буков, а толку мало.
Прочитайте по-русски вас селектор: то есть вместо служебных английских слов напишите подходящие русские.

Да, и мой совет, все-таки постарайтесь отвечать на поставленные вопросы. Вы вроде как хотите чтобы вам помогли, а на деле только много пишите одно и то же, не вникая в суть.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 12 Марта 2016, 00:18:32
usel запрос:
<?xml version="1.0" encoding="utf-8"?>
<selection>
<target expected-result="pages">
<type module="content" method="page" />
<type id="148"/>
</target>
<property name="napravlenie">
<object>152</object>
</property>
<extended>
        <properties>familiya, imya_otchestvo, dolzhnost, fotografiya, otdelenie, napravlenie, css_class, kratkaya_dolzhnost</properties>
</extended>
<limit page="0">2</limit>
</selection>
При проверке usel вызвав его через адресную строчку, теперь выдает мне 0...

И вывожу так:
<xsl:apply-templates select="document('usel://right_main')/udata/page"  mode="rightcol_specialisty" />

Это я писала в самом начале темы.

Вы сказали, что:
- <type module="content" method="page" />
- <object>152</object>
- <extended><properties>familiya, imya_otchestvo, dolzhnost, fotografiya, otdelenie, napravlenie, css_class, kratkaya_dolzhnost</properties></extended>
грубо говоря в данном случае не нужны.

И я их убрала.

Ничего нового не прибавилось вроде.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 12 Марта 2016, 00:49:39
Повторю еще раз:
Распишите по-русски вас селектор: то есть вместо служебных английских слов напишите подходящие русские.

Это важно для вашего же понимания сути происходящего. Вы хотите помощи - так вот она, берите. Готового решения не будет, так как толку от него не будет никакого.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 12 Марта 2016, 12:15:34
Так что ли? О.о
<выбор>
<цель результат="страница">
<тип идентификатор="148" />
</цель>
<свойство имя="направление"/>
<лимит страницв="0">2</лимит>
</выбор>
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 12 Марта 2016, 18:33:57
Совсем не так:
<?xml version="1.0" encoding="utf-8"?>
<!--выбрать-->
<selection>
    <!--страницы-->
    <target result="pages">
        <!--с типом 148-->
        <type id="148" />
    </target>
    <!--где значение свойства napravlenie -->
    <property name="napravlenie">
        <!--содержит ссылку на страницу с идентификатором 320-->
        <page>320</page>
    </property>
    <!--в произвольном порядке-->
    <sort>rand()</sort>
    <!--начиная с нулевой страницы, но не более 2-х штук-->
    <limit page="0">2</limit>
</selection>

Итого:
Выбрать страницы с типом 148, где значение свойства napravlenie содержит ссылку на страницу с идентификатором 320, в произвольном порядке начиная с нулевой страницы, но не более 2-х штук.

Это что, магия какая-то?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 13 Марта 2016, 17:23:39
Так сделать комментарии надо было просто попросить.

<page>320</page> - так ведь он будет выводить для конкретного Направления.

И я вообще-то спрашивала про page! Точнее для чего в примере указано <page>{1}</page>.... =_="

плохо вчера стало, посему и не могла ответить вчера еще раз
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 13 Марта 2016, 17:25:40
Так сделать комментарии надо было просто попросить.

<page>320</page> - так ведь он будет выводить для конкретного Направления.

И я вообще-то спрашивала про page! Точнее для чего в примере указано <page>{1}</page>.... =_="

плохо вчера стало, посему и не могла ответить вчера еще раз

Ничего не понял. Вопрос-то новый и конкретный появился?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 13 Марта 2016, 17:49:36
Нет, не новый, я про page уже спрашивала...

Немного  не поняла для чего в примере указан <page>{1}</page>

page же берет id конкретной страницы, так?
А Направлений у меня много... ><
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 13 Марта 2016, 19:36:08
Вам нужно выбрать тип данных направление или конкретный объект с типом данных направления? Мне кажется, что стоит вам правильно ответить на указанный вопрос и вы поймете в чем суть.

Пока вы потеряли 3 недели и нисколько не продвинулись. Может пора менять подход?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 13 Марта 2016, 21:06:36
Получается у конкретного объекта есть поле с типом данных направление. И нужно этот объект вытащить.
Если прописывать page, то будут выводится Специалисты только данного Направления у всех Направлений.

Я ж писала как должно работать:
- Есть страницы с Направлениями.
- Есть Специалисты, у которых проставлено к каким Направлениям они относятся через поле Ссылка на дерево, которое привязано к Направлениям.
- Если заходишь в какое-то Направление, то в правой колонке надо увидеть тех Специалистов, которые относятся к данному Направлению.


Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 13 Марта 2016, 21:09:55
Правда? Прямо таки поле с типом данных Направление? Серьезно?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 13 Марта 2016, 21:45:49
А как сказать по-другому?-_-"

В сообщение, к которому вы сказали "Много буков, а толку мало", было описание и того, что именно надо, и про page я спрашивала кстати не ответили
Были описаны типы данных, и какое поле где находится и что к этим полям подключено. И как применила его.
И то что у меня получилось сделать. Даже пример на основе которого я пыталась разобраться со своей задачей тоже давала на него ссылку.
Все ж специально описывала в одном сообщении, чтобы по многу раз одно и тоже не писать, сейчас что вы спрашиваете, я уже описывала, может я не с той стороны подошла к вопросу или не так разобрала пример.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 13 Марта 2016, 21:58:08
Если честно - сказать нужно не по-другому. Сказать нужно так, как есть.

Я очень сомневаюсь, что у вас есть тип данных "Направление" для свойства. Судя по внешнему виду, ваш тип данных называется "Ссылка на дерево".

Если это так, то в инструкции к USEL  явно написано как обращаться к таким полям и как в них что-то искать.

Но, однозначно можно сказать, что вы не сможете обратиться через USEL к типу страницы, на которую стоит ссылка.

И да, конечно же я виноват во всех ваших проблемах и ошибках. Безусловно, это я даю вам неправильные подсказки, веду вас по ложному пути, ввожу в заблуждение, ... (тут еще можно много эпитетов подобрать). Но, если честно, как говорит одна моя знакомая: как жаль, что мне пофиг.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 13 Марта 2016, 22:08:10
Ой... 
Я про выпадающий список с множественным выбором думала, когда писала про тип данных.
Но подробности-то все равно все описывала.

В Ссылке на Дерево у Специалистов выбраны ссылки на Направления, к которым они относятся.

Но проблема в том, что данный пример работает ведь. Может я его не так разобрала?

Добавление уже имеющихся объектов каталога в другие категории через дополнительное поле "ссылка на дерево" (http://wiki.umisoft.ru/%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D0%B6%D0%B5_%D0%B8%D0%BC%D0%B5%D1%8E%D1%89%D0%B8%D1%85%D1%81%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0_%D0%B2_%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B5_%22%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%22)
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 13 Марта 2016, 22:17:25
Пока вы потеряли 3 недели и нисколько не продвинулись. Может пора менять подход?

Почему 3 недели? О.о
У меня долгое время головной болью был фильтр, но сделан, и отлично работает. Хоть пришлось использовать плагин, я потом по usel спрашивала как ограничить запрос. Я правда про катагории забыла, т.к. в голове была уже каша из информации ><

А это вообще другой запрос и другой вопрос.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 13 Марта 2016, 22:33:17
Пока вы потеряли 3 недели и нисколько не продвинулись. Может пора менять подход?

Почему 3 недели? О.о
У меня долгое время головной болью был фильтр, но сделан, и отлично работает. Хоть пришлось использовать плагин, я потом по usel спрашивала как ограничить запрос. Я правда про катагории забыла, т.к. в голове была уже каша из информации ><

А это вообще другой запрос и другой вопрос.

Это неконструктивно. Харе воду лить в уши

Ой... 
Я про выпадающий список с множественным выбором думала, когда писала про тип данных.
Но подробности-то все равно все описывала.

В Ссылке на Дерево у Специалистов выбраны ссылки на Направления, к которым они относятся.

Но проблема в том, что данный пример работает ведь. Может я его не так разобрала?

Добавление уже имеющихся объектов каталога в другие категории через дополнительное поле "ссылка на дерево" (http://wiki.umisoft.ru/%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D0%B6%D0%B5_%D0%B8%D0%BC%D0%B5%D1%8E%D1%89%D0%B8%D1%85%D1%81%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0_%D0%B2_%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B5_%22%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%22)

Если вопрос "Может я его не так разобрала?" - то ответ "Да" :-)
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 13 Марта 2016, 23:03:51
Если вопрос "Может я его не так разобрала?" - то ответ "Да" :-)

Тогда подскажите, пожалуйста, как он правильно работает? Или где именно я ошиблась в его работе?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 14 Марта 2016, 10:22:14
Подсказываю: http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/vyborki_iz_bd_protokol_usel/
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 14 Марта 2016, 16:10:38
1. Usel
<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>
    <sort>rand()</sort>
    <limit page="0">2</limit>
</selection>

148 - это тип данных Специалистов у который есть поле napravlenie
Проверила usel http://сайт/right_main/id_направления
Все работает, появляются соответствующие Специалисты.

2) Вызвала этот usel через:
<xsl:apply-templates select="document(concat('usel://right_main/', /result/page/@id))" mode="rightcol_specialisty" />


Все работает, как надо.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 14 Марта 2016, 17:38:31
УРА! У наконец-то!
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 14 Марта 2016, 18:29:20
УРА! У наконец-то!

Почему вы кричите ура?
Usel остался такой же как в примере, который я давала, только с моими данными, оставив этот пресловутый <page>{1}</page>
И этот Вызов я уже писала.

Хотя странно, я делала так же usel, как в примере и так же обращалась к usel (способ находила в другой теме), но при том у меня ничего не работало.
А тут заработало, хотя я сделала все точно так же, как в первый раз когда не заработал...
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 14 Марта 2016, 18:52:08
Я кричал ура в надежде, что вы прочитали инструкцию и действовали по ней. Как видно, я ошибался и впереди у вас еще много граблей. Наслаждайтесь :-)
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 16 Марта 2016, 16:21:48
Я кричал ура в надежде, что вы прочитали инструкцию и действовали по ней. Как видно, я ошибался и впереди у вас еще много граблей. Наслаждайтесь :-)
Я ее читала, просто поняла на наглядном примере, когда его нашла.


Возник вопрос, небольшой.
У меня в меню Направления всплывающее меню(3-ий ур) с подразделениями и там есть карусель со специалистами, все бы ничего, но тут прилетело, что там должна быть та же система...>< У всплывающего меню Специалисты в карусели должны относиться к Направлению.

Но если со страницы я поняла как обратиться к usel, но вот к item внутри меню как обратиться?
<item id="275" link="/napravleniya/kategoria1/" name="Категория1" alt-name="kategoria1" xlink:href="upage://275">
  <items>
    <item id="279" link="/napravleniya/kategoria1/napravleniya1/" name="Направление1" alt-name="napravleniya1" xlink:href="upage://279">Направление1</item>
    <item id="321" link="/napravleniya/kategoria1/napravleniya2/" name="Направление2" alt-name="napravleniya2" xlink:href="upage://321">Направление2</item>
    <item id="280" link="/napravleniya/kategoria1/napravleniya3/" name="Направление3" alt-name="napravleniya3" xlink:href="upage://280">Направление3</item>
  </items>
Категория1
</item>

По link что ли?
И получается usel запрос остается такой же?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 16 Марта 2016, 18:39:12
А что такое "Обратиться к USEL"?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 16 Марта 2016, 18:57:08
А что такое "Обратиться к USEL"?
Не знаю просто как правильно сказать. @_@

Не буду описывать работу usel снова, но /result/page/@id - выводит id текущей страницы, так?

А как сделать чтобы была привязка к текущему пункту меню?так наверное правильно?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 16 Марта 2016, 21:23:38
Что такое "привязка к текущему пункту меню"?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 16 Марта 2016, 23:11:42
Т.е. если наводишь мышку на Направление появляется меню, в нем карусель со Специалистам, которые у этого Направления @_@

Для страниц Направлений брался id текущей страницы, где надо было вывести Специалистов.

А что делать тогда с меню?
Просто не знаю что можно взять за основу/на что ориентироваться/на что делать проверку.
(не знаю как еще сказать, поэтому не придирайтесь -.-
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 16 Марта 2016, 23:14:05
Если речь о наведении мышкой - то USEL  тут ни при чем. Делаете скрипт на JS, который скрывает что не нужно и показывает что нужно и вешаете его на событие onhover
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 16 Марта 2016, 23:46:05
=_="
К сожалению я не так сильна в js, чтобы в выплывающем меню у карусели, которая находится в этом самой всплывалке, прописать управление на основе которого можно было бы ограничить вывод Специалистов по Направлениям для пунктов меню. Если вы имели это ввиду.
А использовать js для такого просто типа открытия меню, как-то странно,  если тут хватает обычного hover...


Так что можно взять за основу/на что ориентироваться/на какой "объект" ссылаться, чтобы у всплывающих пунктов меню Направления были те Специалисты, которые к нему относятся?


Я сперва думала, что можно по полю Ссылка на Дерево и поле link, link есть в item у пунктов меню.
Но как это сделать? Грубо говоря я не знаю, как link взять для "проверки"
Просто работать через link - это единственная пока идея...
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 16 Марта 2016, 23:56:48
"Всплывание" и любая другая анимация делается средствами JavaScript. Если не собираетесь применять её - не надо говорить о ней. Только вводите людей в заблуждение.

Если хотите чтобы на какой-то странице выводились данные, связанные с этой страницей, нужно для начала знать как реализована эта связь. Без этого ответ будет выглядеть как "возьмите то, не знаю что и пропишите там, не знаю где"
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 00:05:28
Тут получается не на странице ведь, так?
Получается внутри item должна быть карусель...

Вот xml кусочек меню:
<item id="275" link="/napravleniya/kategoria1/" name="Категория1" alt-name="kategoria1" xlink:href="upage://275">
  <items>
    <item id="279" link="/napravleniya/kategoria1/napravleniya1/" name="Направление1" alt-name="napravleniya1" xlink:href="upage://279">Направление1</item>
    <item id="321" link="/napravleniya/kategoria1/napravleniya2/" name="Направление2" alt-name="napravleniya2" xlink:href="upage://321">Направление2</item>
    <item id="280" link="/napravleniya/kategoria1/napravleniya3/" name="Направление3" alt-name="napravleniya3" xlink:href="upage://280">Направление3</item>
  </items>
Категория1
</item>

/result/page/@id - выводит id текущей страницы, а как вывести id(?) текущего item?...
А на xlink:href можно ориентироваться?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 00:09:23
Не понимаю вопроса и для чего приведен кусок кода?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 00:23:51
Как выглядит xml у меню

Usel я пока планирую оставить тот же, что использовала для вывода в правом блоке.
Т.к. мне так же надо вывести тип данных Специалисты, у который есть поле napravlenie Ссылка на дерево. Только не на страницах Направлений, а у пунктов меню...

Пока я просто не знаю другого способа ((
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 00:38:53
Все еще не вижу вопроса, зато вижу принятое решение на основании непонятно каких доводов: "Usel я пока планирую оставить тот же, что использовала для вывода в правом блоке.".

Что надо-то? Какой вопрос?

Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 02:16:53
/result/page/@id - выводит id текущей страницы, а как вывести id(?) текущего item?...
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 10:55:06
Текущая страница - это страница, на которой находится пользователь. Понятно. А текущий item - это кто?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 12:29:47
хм.. контент меню..

Попробовала прописать так, сделала новый usel, просто убрала сортировку и лимит.
Сделала вот такой вызов и он выводит всех Специалистов.

<xsl:apply-templates select="document(concat('usel://carousel_main/', 'udata://content/menu/0/2/', @id))/udata" mode="carousel_specialisty" />

Но это просто обращение к id меню, так?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 12:31:19
Попробуем еще раз:
А текущий item - это кто?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 12:40:19
Страницы отображаемые в меню

ой... это items

А item - элемент описывающий отдельный пункт меню.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 12:44:23
Это как тест на внимательность. Видимо  нужно задать вопрос 3 раза чтобы получить ответ. Итак:
Текущий item - это кто?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 13:04:06
хм... Страница?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 14:34:58
Открытая страница в браузере - это страница.
Все item-ы в меню - это страницы.
А текущий item - это какая-то конкретная страница?

PS: а можно четко формулировать вопрос сразу, а не с пятой попытки?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 14:44:35
Просто я могу сказать, что мне надо сделать.
Но не всегда знаю, как это можно реализовать...

да, какая-то конкретная
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 14:46:13
И снова попробуем.

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

Кто такой "текущий item" в вашем понимании?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 14:54:28
Как сказать правильно сказать?

Текущий item - в котором находится всплывающий блок, в котором находится карусель из Специалистов.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 15:00:09
Я не понимаю о чем идет речь.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 15:37:11
Я ж описывала как работает меню.
Что в меню есть Направления, если выбрать Направление появляется всплывающий блок, в котором находится блок со Специалистами.

Так вот, в этом блоке должны быть те Специалисты, которые относятся к данному item.
Т.е. мне получается надо выбирать id текущего item, которое в данный момент выбрано.
xml меню дать?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 16:03:12
Вы описываете как пользователь. Это не помогает.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 16:09:51
Потому что сейчас я могу описать только пользовательскую работу меню, а не программное.
Если бы я знала полностью, что мне делать, то я бы тут наверное и не писала бы.
Проблема  в том, что и примеров найти не могу =_=...

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

Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 16:16:56
Ну вопросы вы задаете програмистские. Значит чтобы хотя бы осознать ответ у вас должна быть соответствующая квалификация. Ну или она должна быть у кого-то другого.

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

Если пофантазировать и предположить, то видимо у вас нет понимания как работает XSLT и вы пытаетесь нахрапом или же готовыми примерами решить какую-то элементарную задачу. В частности, вы пытаетесь получить id страницы имея при этом список из item, но не понимая, что в item есть @id и это и есть @id страницы.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 16:28:00
Что-то разобрала в работе XSLT, что-то еще нет, из-за того, что перелопачиваю кучу информации, в голове уже каша.
И из-за этого скорее всего есть пробелы или просто не всегда понимаю, что одно решение, может спокойно применимо в другом случае.

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

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

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

Каких данных не хватает?
Могу показать свое xsl меню и xml этого меню
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 16:53:45
мы должны угадать куда вы прописываете какой-то id или все-таки будет кусок кода?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 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>
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 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?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 17:44:50
Пожалуйста, обратите внимание! В каждом своем посте я указываю ваши слабые места. Если вы увидите это и будете их подтягивать, то ваши вопросы отпадут сами собой.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 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 - то ничего не выводит, совсем


Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 18:47:55
Вы взяли за основу стандартный шаблон demodizzy?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 19:01:13
для чего?
Карусели, специалистов или меню?


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

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

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

P.S: туплю.... да стандартный
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 20:53:57
Пропишите в \templates\demodizzy\xslt\default.xsl
	<xsl:variable name="result" select="/" />

И в своем шаблоне используйте это как:
	<xsl:apply-templates select="document(concat('usel://carousel_main/', $result/result/page/@id))/udata" mode="carousel_specialisty" />
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 17 Марта 2016, 20:55:04
Ну или можно просто использовать $document-page-id и ничего не прописывать. Но нужно убедиться, что есть строка:
	<xsl:variable name="document-page-id" select="/result/@pageId" />
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 17 Марта 2016, 22:52:55
Сделала пока по первому способу, но если находишься на какой-то странице типа "о нас", в меню у Направления в блоке нету специалистов в карусели.

А если находишься на странице конкретного какого-то Направления, например Направление1
То в меню, если наведешь на Направление2 в блоке у карусели видишь Специалистов Направления1, а не Направления2
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 18 Марта 2016, 00:32:02
Естественно, ведь страница "о нас" - это не направление. Если нужно - делайте проверку на то, в каком конкретно месте находитесь, и выводите карусель только там, где нужно.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 18 Марта 2016, 01:14:54
В том то и дело, что если находишься на "О нас" тоже должны отображаться Специалисты.. Т_Т

Поэтому и надо как-то, чтобы это было завязано на item.
Т.к. Специалисты должны показываться по Направлениям в меню не зависимо от местонахождение на сайте.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 18 Марта 2016, 16:56:03
вопрос, тут идет обращение к конкретному item в меню, так?
 <xsl:template match="item[@id = '1000']" mode="menu">
          <a href="{@link}">
              <xsl:value-of select="."/>
          </a>
  </xsl:template>

Нельзя как-то это "адаптировать"? Это можно назвать принцип работы?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 21 Марта 2016, 15:07:14
вопрос, тут идет обращение к конкретному item в меню, так?
 <xsl:template match="item[@id = '1000']" mode="menu">
          <a href="{@link}">
              <xsl:value-of select="."/>
          </a>
  </xsl:template>

Нельзя как-то это "адаптировать"? Это можно назвать принцип работы?

Это нельзя назвать "обращением к конкретному item" - это то, как будет выводиться конкретный item (в данном случае с id = 1000)

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

Сформулируйте пожалуйста конкретный вопрос и тогда кто-нибудь возможно сможет дать на него ответ. Пока все как в тумане
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 21 Марта 2016, 15:53:50
Понятно, что на конкретный. Ну ладно, сперва так. Главное чтобы сейчас я правильно поняла, что нужно @_@

У меня есть меню с Направлениями.

На всех страницах, кроме страницы контакты это меню отображается для пользователя.

При наведение курсора на Направление (top_drop) появляется плашка (top_drop3), в которой находятся разделы.
В этой же плашке находится карусель со Специалистами, отображение которых должны соответствовать Направлению.
При том не важно на какой странице пользователь находится (о компании или специалиста), когда он водит по меню, то он должен видеть в плашка у карусели Специалистов того Направления, на которое он навел курсор.

Вы дали совет, он сработал, но дал немного не тот результат, что нужно.
Но он идет грубо говоря от глобальной страницы, так?
- Если находишься на странице "о компании", в меню у Направления в блоке соответственно нету Специалистов в карусели.
- Если находишься на странице конкретного какого-то Направления, например Направление1, то в меню, если наведешь на Направление2 в блоке у карусели видишь Специалистов Направления1, а не Направления2.

Прописала в \templates\demodizzy\xslt\default.xsl
<xsl:variable name="result" select="/" />

А вот меню:
    <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/', $result/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>

Так выглядит "структура"
|Категория1
--Направление1
~~~Раздел1
~~~Раздел2
--Направление2
--Направление3
~~~Раздел1
~~~Раздел2
--Направление4
|Категория2
--Направление1
~~~Раздел1
~~~Раздел2
--Направление2
|Категория3
--Направление1
--Направление2
~~~Раздел1
~~~Раздел2
--Направление3
--Направление4
~~~Раздел1
~~~Раздел2
|Категория4
--Направление1
--Направление2
~~~Раздел1
~~~Раздел2

P.S.: item- это страница и id у item - это id страницы, но получается мне надо взять не просто id страницы, а именно id относящегося к item в меню, так?
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 21 Марта 2016, 16:39:48
У вас вроде пол кода нормально написано, а вторая половина - через ... . Джекил и Хайт какой-то.
Вот этот код за что отвечает?
<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/', $result/result/page/@id))/udata" mode="carousel_specialisty" />

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

Я предполагаю, что он отвечает за правило обработки тега items. И внутри этого тега есть какие-то теги item. А в каждом теге item видимо содержится что-то. И еще снаружи есть тег item. И в нем тоже содержится что-то.

В связи с этим вопросы:
1. Какая логическая сущность содержится в item снаружи items?
2. Какая логическая сущность содержится в item внутри items?

Если нужная вам логическая сущность содержится в теге item, которая снаружи - то вам нужно будет переписать
<xsl:apply-templates select="document(concat('usel://carousel_main/', $result/result/page/@id))/udata" mode="carousel_specialisty" />

на
<xsl:apply-templates select="document(concat('usel://carousel_main/', ../@id))/udata" mode="carousel_specialisty" />

Если внутри - то нужно будет весь этот кусок переписывать.

Сдается мне, что вам вообще это не нужно и вы делаете дополнительный вызов usel://carousel_main/ имея ровно такой же результат во вложенных item. В этом нет проблемы, пока у вас на сайте нет пользователей. Как только нагрузка на сайт увеличиться - получите затык с производительностью.
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 21 Марта 2016, 17:08:58
У вас вроде пол кода нормально написано, а вторая половина - через ... . Джекил и Хайт какой-то.
Вот этот код за что отвечает?

Это вывод содержимого всплывающей плашки:
- Блок с "постоянными" ссылками;
- Вывод разделов, что внутри направлений;
- Вывод карусели со специалистами.

Как додумала к сожалению >.<
Я еще думала, как раз вот будет время, все что накопала по информации, использовать для внесения правок.
А то есть вещи, которые я бы сейчас сделала и проще и легче..

В связи с этим вопросы:
1. Какая логическая сущность содержится в item снаружи items?
2. Какая логическая сущность содержится в item внутри items?
На самом деле аж зависла...
Логическая сущность - это карусель?
Получается что второй вариант, если имеется ввиду вложение items -> item -> "какой-то блок", так?

Сдается мне, что вам вообще это не нужно и вы делаете дополнительный вызов usel://carousel_main/ имея ровно такой же результат во вложенных item. В этом нет проблемы, пока у вас на сайте нет пользователей. Как только нагрузка на сайт увеличиться - получите затык с производительностью.

Ну вообще нет, там немного другое "положение" полей, хотя думаю можно будет это упростить.

<xsl:apply-templates select="document(concat('usel://carousel_main/', ../@id))/udata" mode="carousel_specialisty" />

Хм.. а почему ../@id?
Но работает, выводит как положено О.о
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 21 Марта 2016, 17:30:55
Карусель - это представление логической сущности. Логическая сущность - это, к примеру, специалист. Или направление.

../@id означает взять аттрибут id у элемента выше по иерархии. Учите xPath

Что такое "другое положение полей" мне непонятно. Может быть другой набор полей. Может быть другая сортировка. А что такое "положение" - это загадка
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 21 Марта 2016, 17:46:20
Карусель - это представление логической сущности. Логическая сущность - это, к примеру, специалист. Или направление.
По сути так и получается items -> item -> Специалисты

../@id означает взять аттрибут id у элемента выше по иерархии. Учите xPath
Ага. Нашла ^^

Что такое "другое положение полей" мне непонятно. Может быть другой набор полей. Может быть другая сортировка. А что такое "положение" - это загадка
Ну да, другой набор полей и сортировка другая ^^"
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: aghigay от 21 Марта 2016, 21:04:59
В item видимо лежит то, что вы добавили в меню. Хотите что-то другое - добавьте другое
Название: Re: Usel выборка и поле ссылка на дерево
Отправлено: Sumrakrnd от 22 Марта 2016, 18:43:38
У меня такой вопрос.
Если мне надо проверять несколько разных типов данных, у них есть в наличие поле ссылка на дерево с именем link_timber
То usel получается будет такой?
<selection>
    <target result="pages">
        <!-- Т.е. тут получается логическое ИЛИ, так?-->
        <type id="148" />
        <type id="152" />
        <type id="105" />
    </target>
    <property name="link_timber">
        <page>{1}</page>
    </property>
    <extended>
        <properties>foto_glavnaya, zagalovok_glavnaya, text_glavnaya</properties>
    </extended>
</selection>
Мне надо сделать так, чтобы на главной странице выводились разных 4 блока, по желанию заказчика.
Если захотел вывести блок со Специалистом, выбирает у в специалисте ссылку на главную в Ссылка на Дерево.
И там каких-то три Направления, точно так же.

какой фокус они захотят еще...