Заработок в интернете » Создание сайтов » Фикс кода Сапы от Error`a УРЛ вашего сайта на DLE

Фикс кода Сапы от Error`a УРЛ вашего сайта на DLE



6-07-2013, 15:28 | автор: admin | категория: Создание сайтов | (комментариев: 0) |

Фикс кода Сапы от Error`a УРЛ вашего сайта на DLE


Эта статья поможет вам избавится на страничках вашего сайта на DLE от Error`a

До этого всего для тех кто еще не зарегистрирован в данной системе заработка пожалуй №1 тогда переходим по данной ссылке и регистрируемся.Ежели у вас есть собственный ак на сапе тогда можнож просто поменять ваш код на тот что в данной сатье

И так:
Суть трудности ссылки что приобретают на страничках типа _http://мойсайт.ру/tags/Терри/ уходят в еррор.

Короткое описание того что происходит:
Передача url идёт через переменную $_SERVER[’REDIRECT_URL’], так что сходу к коду прибавляем: $o[’request_uri’] = $_SERVER[’REDIRECT_URL’]; Жалко что это не поможет. Движок отдаёт урлы с внедрением кириллицы, когда сапа ждёт «правильный» URL(RFC 1738 никто не отменял: tools.ietf.org/html/rfc1738). Нам понадобиться функция rawurlencode, но правда с маленький заточкой под наше ЧПУ. На экспериментальном сайте странички тегов имели путь: site.ru/tags/название+тега/, от сюда и окончательный вариант кода.


Опосля длинных исканий по форумам и сайтам правильного кода Сапы для DLE эксперементальным методом пришел к решению.

Вот сам код(установка не наиболее 1ой мин.).
В файле index.php.
Отыскиваем строчку:
$tpl->compile('main');
Выше ставим:
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("+", "+", str_replace("/", "/", 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());
$tpl->set( '{sape_temp}', $_SERVER['REDIRECT_URL']);
if(substr( $_SERVER['REDIRECT_URL'], 0, 6)== "/tags/"){
$tpl->set( '{sape_temp2}', str_replace("+", "+", str_replace("/", "/", rawurlencode($_SERVER['REDIRECT_URL']))));
}

Позже по шаблону раскидываем коды вывода ссылок: меж тегами {} прописываем--> sape_links

К стате этот код коректно работает на версиях DLE от 7.5 до 8.5 а так же и на иных ссылочных биржах таковых как СетЛинкс и другие.

Похожие новости



Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.