Joomla + FullAjax. Удивительное рядом

Я решил немного отвлечься от уроков, посвященных компонентам и рассказать про один очень занимательный плагин. Этот плагин, при быстрой установке и настройке, позволяет сделать с Joomla нечто невероятное, а именно просматривать различные страницы сайта без перегрузки страниц. При этом существенно увеличивается скорость загрузки, да и что сказать, это выглядит очень круто :-) . Сайт начинает работать через Ajax, при этом поисковая оптимизация совсем не страдает. Ну да ладно, всё по порядку…

Прежде всего познакомимся с плагином. Он называется Add FullAjax. Основан этот плагин на почти одноименной библиотеке FullAjax. Увидеть на что он способен можно перейдя по этой ссылке. На открывшемся сайте попробуйте кликнуть на любую из ссылок меню.

Все материалы сайта открываются быстро, не перезагружая при этом страницу в браузере. Как такое возможно? Ответ прост – Ajax. Если для вас это просто набор букв, советую заглянуть в википедию.

Началась вся история с FullAjax уже довольно давно. Вот статья о FullAjax на Хабре, написанная еще в 2008 году. Естественно, тогда никаких интеграций с конкретными CMS не было. К настоящему времени один хороший человек написал плагин, значительно упрощающий  работу с данной библиотекой.

Плагин Add FullAjax. Установка и настройка.


60c1cbd5

Вот ссылка на страницу плагина Add FullAjax в каталоге расширений Joomla. Там есть прямая ссылка на скачивание последней версии плагина. Кстати, плагин совместим со всеми версиями Joomla, начиная с 1.5.

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

Настройка Add FullAjax

После того, как плагин установлен, потребуется внести некоторые изменения в шаблон Joomla.

1) Открываем файл index.php шаблона, который у вас используется, находим в нем вывод компонента и сообщения об ошибке(обычно они находятся рядом), находим контейнер, которые их окружает и добавляем к нему id="forajax". Получится что-то вроде:

<div id="forajax">
 <jdoc:include type="message" />
 <jdoc:include type="component" />
</div>

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

2) После того, как п.1. выполнен, вы уже можете активировать плагин и посмотреть его в действии. Но обычно обновлять требуется не только контент, но и модули. Например, чтобы подсветить активный пункт меню, или скрыть/показать модуль только для определенных страниц. По умолчанию модули обновляться не будут. Для обновления модулей нужно:

– найти в файле index.php шаблона позицию вывода модуля, которую требуется обновлять, например, breadcrumbs:

<jdoc:include type="modules" name="breadcrumbs" />

– добавить к контейнеру, окружающему эту позицию выдуманный вами идентификатор, например:

<jdoc:include type="modules" name="breadcrumbs" />

или

<div id="myCoolModule">
 <jdoc:include type="modules" name="user3" />
</div>

– перейти в настройки плагина и в поле «Position parameters» вписать конструкцию вида: position:id|position2:id2. В случае с примером выше это будет:

breadcrumbs:pathway|user3:myCoolModule

– в настройках плагина в опции «Enable Positions update» выберите «semi-automatically».

На этом всё. Если всё сделано правильно, то модули в указанных позициях также будут обновляться с помощью Ajax. Заметьте, если модуль остается неизменным для всех страниц сайта, то не нужно обновлять его таким способом.

3) С чем плагин пока работает не очень хорошо, так это с другими скриптами и формами, поэтому разработчик рекомендует отключать его для таких страниц. Для этого есть соответствующая опция в настройках «Ignore menu items (id)», позволяющая исключить обработку плагином указанных пунктов меню. Это может быть полезно, например, если у вас есть пункт меню, ведущий на форму добавления статьи.

Вот и вся настройка. Согласитесь, довольно быстро, а результат впечатляет.

А что с SEO и сторонними компонентами?

Очень распространенный вопрос: как использование на сайте плагина Add FullAjax повлияет на индексацию и ранжирование сайта поисковыми системами? Ответ прост: никак. С одной стороны, поисковые системы не индексируют JavaScript, на котором основывается FullAjax, но плагин сделан таким образом, что ссылки с- и без- JavaScript выглядят совершенно одинаково. Проще говоря, если человек зайдет на сайт, то он сможет насладиться всеми прелестями FullAjax; если же зайдет поисковый робот, то он увидит сайт в классическом виде(в таком, как если плагин отключен).

Другим важным вопросом является взаимодействие плагина со сторонними расширениями Joomla. Здесь разработчик не обещает, что всё будет работать. Протестировать плагин со всеми существующими расширениями просто не представляется возможным. Скажу лишь, что я пробовал тестировать Add FullAjax с некоторыми известными расширениями. Проблемы есть но небольшие и связаны они больше с конфликтом скриптов расширения и плагина, нежели со структурой оных.

Да, что касается скриптов. Здесь все довольно печально. После установки Add FullAjax могут перестать работать многие скрипты сайта, например, Lightbox, редакторы, и.т.д. Всё это нужно проверять и если вы не сильны в JavaScript, решить такие проблемы будет достаточно сложно.

Заключение.

В заключении хочу сказать, что плагин Add FullAjax весьма интересный и перспективный. Особенно актуально его использование для сайтов-визиток, которые практически не содержат форм, но где важна скорость и удобство просмотра страниц. Попробуйте показать Add FullAjax заказчикам. Думаю, многие из них захотят себе такую «примочку».

Источник