Такая же проблема с DLE 6.3 здесь на форуме нашёл решение, не знаю только поможет или нет:_http://forum.sape.ru/showthread.php?t=33223
Передача url идёт через переменную $_SERVER[’REDIRECT_URL’], так что сразу к коду добавляем: $o[’request_uri’] = $_SERVER[’REDIRECT_URL’]; Жаль что это не поможет. Движок отдаёт урлы с использованием кириллицы, когда сапа ждёт «правильный» URL (RFC 1738 никто не отменял: tools.ietf.org/html/rfc1738). Нам пригодиться функция rawurlencode, но правда с небольшой заточкой под наше ЧПУ. На экспериментальном сайте страницы тегов имели путь: site.ru/tags/название+тега/, от сюда и конечный вариант кода (под катом).
Код:
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'xxxxx_sape_code');
}
$o['host'] = 'http://site.ru';
if (substr($_SERVER['REDIRECT_URL'], 0, 6) == "/tags/") {
$o['request_uri'] = str_replace ("%2B", "+", str_replace ("%2F", "/", rawurlencode ($_SERVER['REDIRECT_URL'])));
} else {
$o['request_uri'] = $_SERVER['REDIRECT_URL'];
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client($o);
$tpl->set('{sape_links}', $sape->return_links(1));
$tpl->set('{sape_links2}', $sape->return_links(1));
$tpl->set('{sape_links3}', $sape->return_links());
$tpl->set('{sape_temp}', $_SERVER['REDIRECT_URL']);
if (substr($_SERVER['REDIRECT_URL'], 0, 6) == "/tags/") {
$tpl->set('{sape_temp2}', str_replace ("%2B", "+", str_replace ("%2F", "/", rawurlencode ($_SERVER['REDIRECT_URL']))) );
}
Потом по шаблону раскидываем коды вывода ссылок: {sape_links}, а для проверки работы конвертации url используем {sape_temp} и {sape_temp2}.
Говорят работает.
Добавлено через 3 часа 56 минут
Цитата:
if (substr($_SERVER['REDIRECT_URL'], 0, 6) == "/tags/")
|
Кто-нибудь знает здесь в место "/tags/" то есть tags свои директории писать (теги) или оставлять так. У меня например есть много /page/ и /2009/xxx/. Срочно помощь нужна.
|