Задача
Защита почтовых ссылок вида
<a href='mailto:mailbox@mailserver.com'>почта</a>
на статических страницах (например, "Контакты") сайта под управлением Joomla от сканирования спам-роботами.Стандартное решение
В Joomla присутствует стандартный плагин "Скрытие электронной почты" ("email cloaking plugin"). Он автоматически преобразует email ссылки в javascript код.
В моем случае (Joomla 1.6.6 и Joomla 1.7.0, браузеры IE8, Firefox 4, 5, 6, Google Chrome 13) преобразование производилось с ошибкой: при клике на ссылку производился запуск почтового клиента, но вместо почтового адреса вида mailbox@mailserver.com в поле адресата подставлялся код
('span>'); //--> </script>
Модифицировать плагин Joomla "Скрытие электронной почты" я не стал.Моё решение
Для решения задачи я использовал
сторонний модуль Mod HTML, который позволяет публиковать javascript код в любой позиции шаблона, и утилиту Blackman's E-mail encoder, с помощью которой я закодировал email адрес кодом javascript.
Содержимое плагина Mod HTML выводится в скрытую позицию сайта, а в контент вставляется ссылка на эту скрытую позицию сайта. Настройка Joomla для
вывода содержимого модуля в позиции контента производится с помощью стандартного модуля "Контент - Загрузка модулей".
Плагин Mod HTML настраивается на вывод закодированного с помощью javascript почтового адреса в позицию с именем module_name (Панель управления Joomla -> Менеджер модулей -> Mod HTML). Сама позиция module_name не должна присутствовать в активном шаблоне сайта.
В тексте, где необходим вывод содержимого модуля Mod HTML, вставляется конструкция
{loadposition module_name}
loadposition - вызов модуля "Контент - Загрузка модулей";module_name - позиция, в которую выводится содержимое модуля.
Комментариев нет:
Отправить комментарий