Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TYPO3: SEO и статистика посещений

Ответ
 
Опции темы Опции просмотра
Старый 16.08.2008, 15:47   #1
vedomir
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);
?>

В результате, вместо вывода тестовой строчки не выводится ничего. Надпись "смотри также" выводится
Где я мог ошибиться?
vedomir вне форума   Ответить с цитированием
Старый 20.08.2008, 00:29   #2
vedomir
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 кликах от главной страницы.

Можно было бы сделать код элегантнее, но пока вариант не найден, а этот работает на ура.

Всем удачи!
vedomir вне форума   Ответить с цитированием
Старый 20.08.2008, 01:03   #3
pomotom
Senior Member
 
Регистрация: 09.12.2007
Сообщений: 281
По умолчанию

Код:
SAPE = PHP_SCRIPT_EXT
SAPE.file = fileadmin/adv/sape.inc
sape.inc
PHP код:
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
unset(
$o);
$t $sape->return_links();
if (
$t) echo "<b>Полезные ссылки:</b> <br /><br />".$t ;
unset (
$t); 
работает.
pomotom вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 15:58.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория