Ниже приведу две разновидности кода для различных видов размещения рекламы SAPE.
Благодарим Михаила Самсонова (http://www.get-profit.com) за оказанную помощь в решении.
Внимание: в коде перед последним символом "процент" в макросах поставлен пробел. Этот пробел нужно убрать после размещения в файле.
В файле custom.php (находится здесь: ~/classes/modules/ )после строки "//TODO: Write your own macroses here" вставляем следующий код для sape. (См. Пример 1)
Затем в коде шаблона .tpl (находится здесь: ~/tpls/content/) размещаем код:
для функции №1:
%custom sape() % - этот макрос для размещения на странице рекламного блока SAPE
для функции №2:
Пишем в тэге <head> строку
Затем %content % заключаете в следующий тэг <sape_index></sape_index>
Пример:
<sape_index>
%content %
</sape_index>
Пример 1. Код для размещения в custom.php.
//TODO: Write your own macroses here
/*Функция для размещения рекламы №1*/
public function sape($limit = false) {
if(!$limit) $limit = false;
if (!defined('_SAPE_USER')){
define('_SAPE_USER', '000000000000000000000000000000000');
}
require_once(getServer('DOCUMENT_ROOT') . '/' . _SAPE_USER . '/sape.php');
$o['charset'] = 'UTF-8';
/* Строка ниже расскоментируется если используется многосайтовость на umi.cms и необходимо показывать код на всех
сайтах */
//$o['multi_site'] = true;
$o['request_uri'] = getServer('REQUEST_URI');
$sape = new SAPE_client($o);
return $sape->return_links($limit);
}
/*функция для размещения контекстной рекламы №2*/
public function context() {
if (!defined('_SAPE_USER')){
define('_SAPE_USER', '000000000000000000000000000000000');
}
require_once(getServer('DOCUMENT_ROOT') . '/' . _SAPE_USER . '/sape.php');
$o['charset'] = 'UTF-8';
$o['request_uri'] = getServer('REQUEST_URI');
$sape_context = new SAPE_context($o);
return ob_start(array(&$sape_context,'replace_in_page'));
}

Комментирование доступно только авторизованным пользователям.
Пожалуйста, зарегистрируйтесь или войдите на сайт.
А вообще макросы блогов для xslt - мрак кромешный (почти каламбур).
ED @ bbb
Сергей Антонинко