Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
16.08.2008, 15:47 | #1 |
Senior Member
Регистрация: 07.02.2006
Сообщений: 202
|
SAPE
Поставил сапу по инструкции, но не работает тест.
Собственно что было сделано. В хидер php-кода страницы надо добавить инициализацию сапы например По совету, поставил его в /typo3conf/localconf.php global $sape; if (!defined('_SAPE_USER')){ define('_SAPE_USER', 'c3c5f7aac0c9602fff0210f208d092dc'); } require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'); // ниже код затавляющий сапу сделать тестовую проверку $o['force_show_code'] = true; $sape = new SAPE_client($o); затем при помощи экста, позволяющего вставлять php код как элемент контента настроил вывод результатов (код для вывода взят из инструкции SAPE по установке) <?php echo 'смотри также'; global $sape; echo $sape->return_links(3); ?> В результате, вместо вывода тестовой строчки не выводится ничего. Надпись "смотри также" выводится Где я мог ошибиться? |
20.08.2008, 00:29 | #2 |
Senior Member
Регистрация: 07.02.2006
Сообщений: 202
|
Сказанное ниже проверено на системе версии 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 кликах от главной страницы. Можно было бы сделать код элегантнее, но пока вариант не найден, а этот работает на ура. Всем удачи! |
20.08.2008, 01:03 | #3 |
Senior Member
Регистрация: 09.12.2007
Сообщений: 281
|
Код:
SAPE = PHP_SCRIPT_EXT SAPE.file = fileadmin/adv/sape.inc PHP код:
|