А, ну да, не в блоке этого не происходит.
Блин, действительно все просто: function smarty_function_load($params, & $smarty) { if(!isset($params['file']) OR !$file = $params['file']){return;}
if(!empty($params['assign'])){
$assign = (string)$params['assign'];
}
$output = $smarty->fetch($file);
return !empty($assign) ? $smarty->assign($assign, $output) : $output;
} и вызываю {load file="cities/outer.tpl"} Работает.
Попробовал. basePathRelative в false. basePath на папку соседнего сайта. В итоге пусто.
Да, я просто вынес формирование меню из блока. Работает.
Это тоже помогло с рекурсией или как?
Да, хорошая идея. Надо попробовать
У меня просто на одной странице выводится список городов (страна->регион->область->город), я решил так: {if {field name=id}==36} {processor action=«getmenu» ns=«site» propset=«cities» assign=«result»} {assign var=«items» value=$result.object} {include file=«cities/outer.tpl»} {else} {block name=«content»} {field name=«content»} {/block} {/if}
Кстати, как еще один вариант (чтобы обойтись без сниппетов), думаю, можно использовать Smarty-плагин для набивки менюшки. То есть написать свой плагинчик и после вызова процессора результат отправлять туда. А там уже вызывать Смарти-шаблончики для набивки. Вряд ли прекомпиллятор будет вызывать эту функцию.
А попробуйте завести источник файлов в MODX-е с указанием абсолютного пути на корневую директорию всех сайтов, или сразу до папки другого сайта. Я говорил здесь как это делается.
Пожалуйста.