Оглавление
xs2Fetch
Эта функция возвращает строку, которую генерирует метод, вызванный по адресу, который параметры mod, obj и met задают по стандартным правилам системы. При вызове из шаблона Smarty результат оказывается в переменной с именем, которое задано в параметре var.
Адресация
Если задан только метод met, - запрашивается метод проекта;
если заданы метод met и модуль mod - запрашивается метод модуля;
если заданы метод met, модуль mod и тип объектов obj - запрашивается метод типа.
Назначение
Включение методов удобно для того, чтобы вынести в отдельные блоки повторяющиеся части разных страниц для совместного использования общего кода из разных методов. Разбиение кода на логические блоки, хранящиеся в разных методах, также упрощает структуру текста в процессорах и шаблонах. Допускается произвольная глубина вложенности методов.
Окружение
Во включаемом методе параметры запроса (переменные окружения $_THE['PARAMS'] и $_THE['QUE'] в процессоре, она же - $_THE.QUE в шаблоне) не переопределяются! Их значения остаются такими же, какими они были на странице, запрошенной пользователем, чтобы метод знал, откуда он был вызван.
Параметры
string mod
название модуля, метод которого запрашивается.
string obj
название типа объектов, к которому относится запрашиваемый метод.
string met
название метода
Обязательный параметр.
string atr
передаваемые во включаемый метод атрибуты (доступны в нем через массив $_THE.FETCH.PARAMS).
string var
название переменной шаблона, в которую будет помещен результат работы включаемого метода.
Используется только в шаблоне.
Примеры
Пример 16
{strip}
<A href="http://www.solutecs.com">
solutecs
</A>
{/strip}
...
<P>
{xs2Fetch met="banner"}
</P>
...
...
<P>
<A href="http://www.solutecs.com">solutecs</A>
</P>
...
Пример 17
{$_THE.PARAMS[0]} = {$number}
<?php
$_HTML->assign(
'number',
xs2Fetch(array(
'met'=>'number',
'obj'=>'translate',
'mod'=>'words'))
?>
<?php
switch($_THE['PARAMS'][0]){
case 'one':
$num = 'один'; break;
case 'two':
$num = 'два'; break;
case 'three':
$num = 'три'; break;
...
}
echo $num;
?>
two = два