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

XS2 Online

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

Функции XS2 API

xs2Fetch :: Вложенный вызов метода

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

Эта функция возвращает строку (текст), которую генерирует метод, вызванный по адресу, который параметры mod, obj и met задают по стандартным правилам системы. При вызове из шаблона результат оказывается в переменной с именем, которое задано в параметре var.

Если задан только метод met, — запрашивается метод проекта; если заданы метод met и модуль mod — запрашивается метод модуля; если заданы метод met, модуль mod и тип объектов obj — запрашивается метод типа.

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

Во включаемом методе параметры запроса (переменные окружения $_THE['PARAMS'] и $_THE['QUE'] в процессоре, она же — $_THE.QUE в шаблоне) не переопределяются! Их значения остаются такими же, какими они были на странице, запрошенной пользователем, чтобы метод знал, откуда он был вызван.

Пример 379 :: Простая вставка

Допустим, что метод banner относится ко всему проекту, и требуется вставить баннер в шаблон show, показывающий статью у объектов article в модуле library. Шаблон баннера может содержать произвольный код:

{strip}
  <A href="http://www.solutecs.com/">
    Solutecs
  </A>
{/strip}

Вставленный фрагмент с гиперссылкой:

...
<P>
  {xs2Fetch met="banner"}
</P>
...

будет виден на странице http://www.xs2.ru/library/article/show

...
<P>
  <A href="http://www.solutecs.com/">Solutecs</A>
</P>
...

Пример 380 :: Вызов и обработка параметров

Допустим, запрошена страница http://www.xs2.ru/check/two.htm, c простым шаблоном:

{$_THE.PARAMS[0]} = {$number}

И с процессором, вызывающим метод number объектов translate из модуля words:

<?php
  $_HTML->assign(
    'number',
    xs2Fetch(array(
      'met'=>'number',
      'obj'=>'translate',
      'mod'=>'words'))
?>

Если number принимает атрибут из запроса и состоит из подобного процессора:

<?php
  switch($_THE['PARAMS'][0]){
    case 'one':
      $num = 'один'; break;
    case 'two':
      $num = 'два'; break;
    case 'three':
      $num = 'три'; break;
    ...
  }
  echo $num;
?>

То на странице будет выведено:

two = два

Параметры

met (string)
название метода
Обязательный параметр
mod (string)
Имя модуля, на котором выполняется функция
По умолчанию: текущий модуль
obj (string)
Название типа объектов, на котором выполняется функция
atr (string)
Строка атрибутов, соединенных точками
var (string)
Название переменной, в которую будет возвращен результат работы функции
Используется только в шаблоне

Смотри также

Эта функция возвращает строку (текст), которую генерирует метод, вызванный по адресу, который параметры mod , obj и met задают по стандартным...
Эта функция используется для формирования корректного URL-адреса метода, который параметры mod , obj и met задают по стандартным правилам...
Эта функция используется для формирования строки с корректным URL, для доступа на странице к файлу с ресурсом под именем name , из проекта, типа...
Copyright ©1998-2009 Солютекс. Все права защищены.
Этот сайт сделан в designLab | Работает на технологии XS2
Условия использования | О защите конфиденциальности