Сказанное ниже проверено на системе версии 4.2 в кодировке utf , большинство вещей оттуда будет работать и в более старых версиях.
Typo3 абсолютно недружественна к вставкам php_кода, что приводит многих новичков в замешательство. Вобщем это логично - нечего распихивать в хорошей отлаженной системе свой код куда ни попадя.
Для работы понадобится - вставить код инициализации SAPE в заголовочную часть страницы и код вывода в контентный элемент Typo3.
Рассмотрим по отдельности задачу.
У typo3 отстутствует header в том виде , в каком оный имеется в большинстве CMS на PHP. Большинство файлов кода невозможно отредактировать из самой системы но есть один файл. Это файл начальных настроек системы, это localconf.php.
Его можно легко отредактировать через :
Установка -> Edit files in typo3conf/ -> localconf.php
Естественно , возможность зайти в Установку у вас должна быть включена (файл ENABLE_INSTALL_TOOL) и пароль от нее тоже должен иметься в наличии.
В начало файла , перед первой строчкой настроек вставляется код
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'c3c5f7aac0c9602fff0210f208d092dc');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset($o);
Сохраняем файл. Теперь в каждой странице Typo3 (вероятно, кроме сгенерированных в честную статику) имеется возможность работать с SAPE.
2. Требуется вывести код в конкретные страницы , с которых будет продаваться ссылки. И тут наступает вторая проблема - Typo3 не позволяет выводить просто php-код из обычных элементов контента. Однако, в прошлом существовало расширение, позволяющее вставлять элемент php в качестве специального контентного элемента. Однако, это расширение было удалено из репозитория системы из общих соображений безопасности.
Расширение называется Page PHP Content (page_php_content оно называлось в репозитории). Установку описывать не буду - все обыденно просто .
После установки - осталось только разместить код на нужной странице. Выбираете страницу, добавляете новый контентный элемент, выбираете новый -> Чистый HTML -> в списке прокрутки меняете его на PHP script, подтверждаете перезагрузку формы
и вставляете код:
<?php
global $sape;
echo $sape->return_links(3);
?>
где 3 - рекомендуемый коэффицент безопасной жадности
3. Дополнительные рекомендации. Размещение рабочего кода на всех страницах, пригодных для продажи.
В основной шаблон вставляется простой код вида:
[treeLevel = 2,3]
page.1.subparts.INHALT_RECHTS < styles.content.getRight
page.1.subparts.INHALT_RECHTS.select.pidInList = 76
[end]
где page.1 это текущий шаблон
INHALT_RECHTS -это метка для вывода (в данном случае, в жертву была выбрана правая колонка) styles.content.getRight
INHALT_RECHTS.select.pidInList = число это номер страницы , где в правой колонке разместили контентный элемент с кодом SAPE
treeLevel = 2,3
означает размещениие ссылок только на 3-4 уровне дерева страниц от корня, то есть в 1-2 кликах от главной страницы.
Можно было бы сделать код элегантнее, но пока вариант не найден, а этот работает на ура.
Всем удачи!
|