Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Модуль Меню - заголовки для блоков меню их поля "Название"

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

Ответов: 8
Просмотров: 9062
Последний ответ 06 Июня 2014, 12:06:35
от admin
Требуется по "клику" на элемент увеличить значение поля и показать значение

Автор tkalyuginaРаздел JS и AJAX

Ответов: 0
Просмотров: 2476
Последний ответ 02 Сентября 2016, 12:03:55
от tkalyugina
Тип поля "Состаное"

Автор SumrakrndРаздел Настройка системы и модулей

Ответов: 4
Просмотров: 3156
Последний ответ 28 Декабря 2016, 17:14:17
от Sumrakrnd
Задать значени поля тип "Составное"?

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

Ответов: 5
Просмотров: 6153
Последний ответ 14 Апреля 2014, 21:20:45
от ilyar
Мультизагрузка файлов в поля "набор изображения"

Автор atachРаздел Настройка системы и модулей

Ответов: 0
Просмотров: 2056
Последний ответ 26 Апреля 2017, 19:26:48
от atach

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

*

nunucbku

  • *
  • 4
  • +0/-0
    • Просмотр профиля
Здравствуйте. Подскажите, как с помощью xslt вывести любое поле (которое я укажу), для текущего пользователя.

Пробовал через uobject

<xsl:value-of select="document('uobject://@id.moe_svoictvo')//value" />


Но работает, только если указываю конкретный @id пользователя (например 22).

*

NOIRMAN

  • *****
  • 101
  • +16/-1
    • Просмотр профиля
/result/user/@id - покажет Вам идентификатор пользователя.

*

ilyar

Здравствуйте. Подскажите, как с помощью xslt вывести любое поле (которое я укажу), для текущего пользователя.

Пробовал через uobject

<xsl:value-of select="document('uobject://@id.moe_svoictvo')//value" />


Но работает, только если указываю конкретный @id пользователя (например 22).

В приведенный код не будет работать потому что это uobject://@id.moe_svoictvo не существующий стрим, надо собирать подобные запросы через concat(param1, param2, ...), приведенный код будет работать если его записать так:

Код: XSL [Выделить]

<xsl:value-of select="document(concat('uobject://', @id, '.moe_svoictvo'))//value" />


в результате собранный стрим будет uobject://123.moe_svoictvo.

Для того что бы получать идентификатор текущего пользователя, как сказал NOIRMAN, его надо брать из /result/user/@id, для удобства можно определить глобальную переменную в общем шаблоне:

Код: XSL [Выделить]

<xsl:variable name="userId" select="/result/user/@id"/>


и тогда будет возможность получить идентификатор текущего пользователя где нам это потребуется, пример использования:

Код: XSL [Выделить]

<xsl:value-of select="document(concat('uobject://', $userId, '.moe_svoictvo'))//value" />
« Последнее редактирование: 15 Марта 2014, 22:38:57 от ilyar »