Solution Technologies
Управление сайтом без ограничений

XS2 Online

Все о разработке проектов
на базе платформы XS2 Framework

Функции XS2 API

xs2GetLinks :: Ссылки на объект

  • Доступна в шаблоне
  • Доступна в процессоре

Эта функция возвращает объекты типа NType из модулей, определяемых параметром mods, у которых в виртуальном поле lnkField есть ссылка на объект из модуля mod с идентификатором NodId.

Пример 359 :: Получение ссылок
"Вдоль потоков, по равнинам,
 Шли вожди от всех народов,
 Шли Чоктосы и Команчи,
 Шли Шошоны и Омоги,
 Шли Гуроны и Мэндэны,
 Делавэры и Могоки,
 Черноногие и Поны,
 Оджибвеи и Дакоты
 Шли к горам Большой Равнины,
 Пред лицо Владыки Жизни"

«Песнь о Гайавате», ©1855 Генри Лонгфелло

Допустим, что тип country содержит объекты, описывающие страны, а объекты типа tribe, хранят описания племен. У каждого объекта tribe имеется поле territory со ссылкой на одну или несколько стран (объектов типа country), в которых обитает данное племя:

{xs2GetLinks
  var = "tribes"
  NodId = 418
  NType = "tribe"
  lnkField = "territory"}

Если объект с идентификатором NodId равным 418 — описывает Америку, то содержание массива $tribes можно обойти и получить список племен так:

{foreach from=$tribes item="tribe"}
  {$tribe.NName}
{/foreach}

Или так:

{strip}
  {foreach from=$tribes item="tribe" name="loop"}
    {if $smarty.foreach.loop.last} и {/if}
    {$tribe.NName}
    {if not $smarty.foreach.loop.last},{else}.{/if}
  {/foreach}
{/strip}

Чтобы получить на странице список названий племен через запятую:

Чоктосы, Команчи, Шошоны, Омоги, Гуроны, Мэндэны,
Делавэры, Могоки, Черноногие, Поны, Оджибвеи и Дакоты.

Пример 365 :: Получение ссылок с параметрами
{xs2GetLinks
  mods = "articles, essays, docs"
  mod = "users"
  lnkField = "Author"
  NodId = 777
  var = "texts"}

Такой запрос вернет в переменную $texts все объекты из модулей articles, essays и/или docs, у которых в поле Author имеется ссылка на объект номер 777 из модуля users.

Такой же запрос, с уточнением типа (NType) запрошенных объектов:

{xs2GetLinks
  mods = "articles, essays, docs"
  mod = "users"
  lnkField = "Author"
  NType = "text"
  NodId = 777
  var = "texts"}

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

Параметры

NodId (int)
идентификатор объекта, на который ссылаются запрашиваемые объекты
Обязательный параметр
NType (mixed)
название типа возвращаемых объектов
По умолчанию: любой тип
Варианты параметра:
  • string - список названий типов, через запятую
  • array - массив названий типов
  • lnkField (string)
    Название поля, в котором у запрашиваемых объектов хранятся ссылки на данный объект.
    Обязательный параметр
    mod (string)
    Название модуля, в котором находится объект с идентификатором NodId. См. также http://lib.solutecs.com/api/concept/show/438.htm
    По умолчанию: Текущий модуль
    mods (mixed)
    Модули из которых запрашиваются объекты. См. также http://lib.solutecs.com/api/concept/show/438.htm
    По умолчанию: Значение параметра mod (если mod не указан, то текущий модуль)
    Варианты параметра:
  • string - список названий модулей через запятую
  • array - массив названий модулей
  • linkDetail (mixed)
    Какие поля связанных объектов возвращать
    По умолчанию: 3
    Варианты параметра:
  • int=1 - только общие поля объектов
  • int=2 - только дополнительные поля
  • int=3 - все поля
  • string - список названий полей через запятую. Несуществующие в типе поля игнорируются.
  • array - массив названий полей. Несуществующие в типе поля игнорируются.
  • prj (string)
    Имя проекта, на котором произволятся действия. Возможность существует при условии, что у указанного проекта разрешен экспорт данных и текущий проект указан среди «доверенных проектов»
    По умолчанию: текущий проект
    condition (string)
    Дополнительное условие отбора (синтаксис SQL)
    По умолчанию: пустое условие
    sort (string)
    Список полей, по которым сортируется набор.
    limit (int)
    Ограничивает количество возвращаемых узлов.
    var (string)
    Название переменной, в которую будет возвращен результат работы функции
    Используется только в шаблоне

    Смотри также

    Эта функция возвращает из модуля mod в виде массива упорядоченный набор объектов, являющихся потомками для объекта с идентификатором ParId ....
    Эта функция возвращает из модуля mod в виде массива набор объектов, дочерних для объекта с идентификатором ParId . Результат можно ограничить...
    Эта функция возвращает из модуля mod в виде массива набор объектов, являющихся потомками для объекта с идентификатором NodId . Результат можно...
    Эта функция возвращает объекты типа NType из модулей, определяемых параметром mods , у которых в виртуальном поле lnkField есть ссылка на...
    Эта функция возвращает набор объектов модуля mod в виде массива. Каждый его элемент в свою очередь представляет собой ассоциативный массив полей...
    Эта функция возвращает «цепочку» (путь в дереве) объектов из модуля mod начиная с объекта с идентификатором rootId (НЕ включая его...
    Copyright ©1998-2008 Солютекс. Все права защищены.
    Этот сайт сделан в designLab | Работает на технологии XS2
    Условия использования | О защите конфиденциальности