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

XS2 Online

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

Функции XS2 API

xs2GetNode :: Один объект модуля

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

Эта функция возвращает поля, определяемые параметром fields объекта из модуля mod с идентификатором NodId, в том числе поля объектов из его виртуальных полей, которые определяются параметром linkDetail. Результатом является ассоциативный массив, ключи которого называются также, как поля извлекаемого типа NType. При вызове из шаблона (Smarty) результат оказывается в переменной с именем, которое задано в параметре var.

Пример 311 :: Простой запрос узла

Когда запрошена страница проекта по адресу http://www.xs2.ru/shop/basket/show/8.7.htm, это означает, что в модуле shop вызывается метод show, относящийся к типу basket, и ему переданы параметры 8 и 7. Смысловую нагрузку, порядок и параметров разработчик выбирает сам. Запрошенный модуль автоматически становится текущим. Если во втором параметре ожидается идентификатор объекта, то из процессора получить данные об остальных его полях можно так:

<?php
  $id = $_THE['PARAMS'][1];
  $object = xs2GetNode(array('NodId' => $id));
  $_HTML->assign('object', $object);
?>

Тот же запрос в шаблоне (Smarty) выглядит следующим образом:

{xs2GetNode
  var = "object"
  NodId = $_THE.PARAMS[1]}

Или так, с простой проверкой соответствия ожидаемого типа фактическому типу объекта:

{xs2GetNode
  var = "object"
  NodId = $_THE.PARAMS[1]
  NType = "basket"}

Если явно задать значение параметра NType, а объект с NodId равным 7 на самом деле не относится к типу basket, то такой запрос не вернет информацию об объекте.

Пример 315 :: Запрос с дополнительными параметрами

Задание дополнительного параметра mod позволяет запрашивать объекты из модулей, отличающихся от текущего (запрошенного):

{xs2GetNode
   var = "basket"
   NodId = $_THE.PARAMS[1]
   NType = "basket"
   mod = "shop"}

То есть метод может запрашивать данные из любого модуля проекта. Когда метод привязан не к типу объектов или к модулю, а ко всему проекту, адрес его страницы будет выглядеть, как, http://www.xs2.ru/show, а его вызов с параметрами, например, так: http://www.xs2.ru/show/8.7.htm. В таком случае указывать модуль (mod) необходимо, так как текущий модуль не установлен.

<h1>{$basket.NName}</h1>
{foreach from=$basket.items item="it"}
  <p>
    {$it.NName}. {$it.Price}
  </p>
{/foreach}

Так можно вывести состав «корзины» в модуле «магазин» (shop), если в виртуальном поле items объектов типа «корзина» (basket) хранятся описания товара, а в поле Price у каждого товара в свою очередь записана его цена.

Параметры

NodId (int)
Идентификатор объекта
Обязательный параметр
NType (string)
Тип возвращаемого объекта
fields (mixed)
Какие поля объекта возвращать
По умолчанию: 3
Варианты параметра:
  • int=1 - только общие поля объектов
  • int=2 - только дополнительные поля
  • int=3 - все поля
  • string - Список названий полей через запятую. Несуществующие в типе поля игнорируются.
  • array - Массив названий полей. Несуществующие в типе поля игнорируются.
  • linkDetail (mixed)
    Какие поля связанных объектов возвращать
    По умолчанию: 3
    Варианты параметра:
  • int=1 - только общие поля объектов
  • int=2 - только дополнительные поля
  • int=3 - все поля
  • string - список названий полей через запятую. Несуществующие в типе поля игнорируются.
  • array - массив названий полей. Несуществующие в типе поля игнорируются.
  • mod (string)
    Имя модуля, на котором выполняется функция
    По умолчанию: текущий модуль
    prj (string)
    Имя проекта, на котором произволятся действия. Возможность существует при условии, что у указанного проекта разрешен экспорт данных и текущий проект указан среди «доверенных проектов»
    По умолчанию: текущий проект
    var (string)
    Название переменной, в которую будет возвращен результат работы функции
    Используется только в шаблоне

    Смотри также

    Эта функция возвращает поля, определяемые параметром fields объекта из модуля mod с идентификатором NodId , в том числе поля объектов из его...
    Эта функция возвращает прототип объекта (пустой объект) типа, указанного в параметре NType .
    Эта функция возвращает поля объекта из модуля mod , являющегося родительским по отношению к объекту с идентификатором NodId . Параметр fields...
    Copyright ©1998-2008 Солютекс. Все права защищены.
    Этот сайт сделан в designLab | Работает на технологии XS2
    Условия использования | О защите конфиденциальности