Установка кода SAPE на MODx

Четверг, 25 сентября 2008 г.

На одном из сайтов необходимо было установить код SAPE на MODx. Решение для вывода ссылок одним блоком с помощью гугла обнаружилось очень быстро. А вот с выводом ссылок в разных блоках я что-то очень долго мучался, но решение, как обычно, оказалось гениально простым =).

Собственно вот инструкция по установке кода SAPE и выводе ссылок несколькими блоками. Подразумевается, что папка sape уже скачана с sape.ru, залита в корень сайта и на неё установлены права 777.

Создаём сниппет SAPE. Вставляем в него следующий код:

<?php
	
	if (!defined('_SAPE_USER'))
		define('_SAPE_USER', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
	require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
	$o['charset'] = 'UTF-8';
	$sape = new SAPE_client($o);

	$Sap	eLeft =  $sape->return_links(2);
	if ($SapeLeft<>'')
		$SapeLeft = '<div id="sape-left">'.$SapeLeft.'</div>';
	
	$SapeBottom = $sape->return_links();
	if ($SapeBottom<>'')
		$SapeBottom = '<div id="sape-bottom">'.$SapeBottom.'</div>';
	
	unset($o);
	
	$modx->setPlaceholder('SapeBottom', $SapeBottom);
	$modx->setPlaceholder('SapeLeft', $SapeLeft);
	
?>

В данном примере мы будем выводить в первом блоке 2 ссылки ($SapeLeft), а во втором все остальные ($SapeBottom). Далее мы задаем плейсхолдеры SapeBottom и SapeLeft с помощью setPlaceholder.

Далее в шаблоне в самом верху вставляем некэшируемый вызов нашего сниппет: [!SAPE!].

Теперь остаётся только в шаблоне вставить [+SapeLeft+] - для вывода первого блока ссылок и [+SapeBottom+] - для вывода второга блока ссылок.

Вот так всё просто =).

Рубрика: MODx | Тэги: ,
Оставить комментарий
Не регистрировать/аноним
Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.
Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.
(обязательно)