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

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

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

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

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

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

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

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

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

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

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

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

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Подумала я, и решила все-таки для этого вопроса создать новую тему.
Есть подозрение, что ошибка идет в 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" />

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #1 : 11 Марта 2016, 12:27:06 »
А 152 - это объект чтобы к нему обращаться в формате <property name="napravlenie"><object>152</object></property> ? То есть этот объект можно получить в формате uobject://152 ?
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #2 : 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: еще чувство, будто я данные местами путаю..

*

aghigay

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

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #4 : 11 Марта 2016, 14:23:12 »
Ооо... т.е. для Ссылки на дерево это поле не обязательно получается?

А как теперь проверку настроить?
Просто у меня все равно выводит пока по условию первых двух, и не учитывая поле napravlenie

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #5 : 11 Марта 2016, 15:06:44 »
Я бы предложил писать что-то типа <property name="napravlenie" value="152" />
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #6 : 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>
« Последнее редактирование: 11 Марта 2016, 16:15:35 от Sumrakrnd »

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #7 : 11 Марта 2016, 16:15:29 »
Ну может не стоит пихать <type id="148"/> и <type module="content" method="page" /> в одну выборку?
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #8 : 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.: хотя нет, логичней по первому варианту..
« Последнее редактирование: 11 Марта 2016, 17:27:31 от Sumrakrnd »

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #9 : 11 Марта 2016, 17:36:53 »
Собственно, рекомендую проверить есть ли страницы с type_id 148 и заполненным значением в поле napravlenie равным 152, а так же пока убрать вывод extended полей
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #10 : 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.: Не у всех Направлений есть Специалисты
« Последнее редактирование: 11 Марта 2016, 17:47:59 от Sumrakrnd »

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #11 : 11 Марта 2016, 18:04:30 »
Вот мне интересно, а почему самостоятельно в голову не приходит мысль, что тут нет id = 152, object_id = 152 и даже, на худой конец, parent_id = 152, а есть только type_id = 152. Может нужно задуматься о том, что что-то пошло не так?
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #12 : 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

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Usel выборка и поле ссылка на дерево
« Ответ #13 : 11 Марта 2016, 19:15:29 »
Не делайте вывод в apply-templates - там ничего не видно
Делайте вывод в формате http://site.ru/usel/right_main/12
Где 12 - это идентификатор страницы. На всякий случай говорю: у вас свой идентификатор страницы и взяв 12 вы ничего не получите.

Учите матчасть!
Мой блог http://umicms.me

*

Sumrakrnd

  • ****
  • 311
  • +1/-0
  • Учусь «на примерах»
    • Просмотр профиля
Re: Usel выборка и поле ссылка на дерево
« Ответ #14 : 11 Марта 2016, 19:35:19 »
К сожалению выводить
<udata module="usel" method="right_main" generation-time="0.010851">
<total>0</total>
</udata>