Очередное усовершенствование движка BigStreet для нашего сайта —
закрытые внешние ссылки и, как бонус, валидное открытие внешних ссылок в новом окне.
В двух словах реализация такова: Создаём закрытый для поисковых систем скрипт редиректа,
который принимает адрес в виде GET переменной. Перед выводом сгенерированной траницы сайта
в браузер обрабатываем её нашим плагином для Smarty, который заменяет все внешние ссылки на редирект.
Скрипт понимает атрибут rel = «allow», который указывает на то, что ссылку трогать не надо. Если
у внешней ссылки нет атрибута rel=«external», скрипт его дописывает.
По-поводу открытия внешних ссылок в новом окне:
После загрузки страницы, JavaScript ищет все ссылки с атрибутом rel=«external» и выставляет им атрибут target = «_blank».
То есть обычная внешняя ссылка станет для поисковика такой:
<a rel="external" href="http://antisite.ru/external/?link=http://ya.ru">link</a>
А такая ссылка:
<a rel="external allow" href="http://ya.ru">link</a>
останется нетронутой.
Подробности для тех, кто хочет внедрить это изменение, в
блоге об улучшениях BigStreet на нашем сайте.
И, кстати, мы почти закончили прикручивать WYSIWYG редактор
TinyMCE и JavaScript подсветку синтаксиса
SyntaxHighlighter к BigStreet'у.
Как только решим проблемы совместимости с Интернет Эксплорером, сразу будет мануал :)
С Уважением, команда Antisite.ru
Инструкция (на указанном сайте) довольно простая… но меня не покидает чувство, что в коде файла ( outputfilter.ext_links.php ) что-то не так.
Спросил у автора на его сайте, в ответ — тишина.
Цитаирую инструкцию
Затем создаём модуль для Smarty. В каталоге «vendors/Smarty-2.6.20/plugins/» создаём файл «outputfilter.ext_links.php»
Так вот, в результате сайт ругается на строку
а в строке
как будто бы не хватает аргументов...
Буду признателен всем, кто-то сможет прокомментировать ситуацию, или поможет разобраться в чем проблема.
Я вам отписался со ссылкой на полный файл.
Написать комментарий