Привет всем!
Хотим рассказать о своем новом проекте, который мы считаем весьма интересным с технической точки зрения.
Реализовали на платформе Revolution 2.1.2
Фишка его заключается в том, что изначально он делался как обычный каталог, то есть без какого-либо Ajax-а. В итоге мы его решили сделать более удобным для пользования и навернуть Ajax. Дело в том, что как и во многих каталогах, при переходе на новую страницу у нас меняется только основная часть страницы. Так почему не сделать замену только этой основной части? В итоге мы написали Javascript-плагин, который инициализируется на стороне клиента, находит все ссылки с классом ajax, и навешивает на них событие. В результате при клике по таким ссылкам, их значение href передается не в адресную строку, а происходит ajax-запрос на сервер, где идет возврат лишь основного контента для этой страницы. При этом, если у пользователя отключен javascript, он так же сможет пройти по всем ссылкам, как и поисквый паук. И в отличие от классических методов, у нас не происходит дополнительной генерации контента для ajax-запросов и не генерируется кривых линков и ссылок. Так же у нас сохраняется то, на что многие жалуются при наличие ajax-механизмов - у нас работает "Открыть в новой вкладке"!)) То есть если чел хочет именно товар открыть в другой вкладке, чтобы не потерять его, запросто! Даже нормально обрабатывается клик средней кнопкой мыши и страничка открывается в
Среди прочих фишек, которые мы уже успели там реализовать:
1. Историческая навигация. То есть запоминаются переходы, и есть возможность промотать назад. При чем это не просто назад по всем пройденным страницам, это Назад к начальной странице по самому короткому пути.
2. Кэширование на стороне сервера. Все результаты кэшируется, при чем идет единое кеширование самого важного как для ajax-запросов, так и для простых запросов. В результате, чем больше пользователи шастают по сайту, тем быстрее сайт работает, при чем не важно, ajax-запросы были, или простые переходы.
3. Все Ajax-переходы кешируются и если пользователь пытается открыть страницу, которую уже посещал, то, во-первых, у него не будет запроса на сервер, а просто подставится контент, а во-вторых, листинг основной части страницы будет не вперед, как на новую страницу, а назад, то есть понятно, что вернулся. В результате и на наш сервер нагрузка в разы меньше, и у пользователя каталог работает быстро, даже если у него слабый инет.
Впереди еще множество фишек!
УРЛ каталога:
http://home-ex.ru/catalog/
Цикл полезных статей по MODx Revolution на нашем сайте:
http://newpg.ru/documentation/modx/modx-revolution.html
Так же мы пошагово и очень подробно описываем другой наш проект тут:
http://newpg.ru/nashi-proekty/filmografiya.tv.html. Обязательно просмотрите этот раздел. Там очень полезная информация есть, включая пример оптимизации базы данных и т.п.
P.S. Добавили подмену УРЛ-ов и заголовков страниц и сохранение истории в браузер. Теперь можно листать просмотренные страницы через кнопки браузера Вперед/Назад. К сожалению данную технологию пока не поддерживает Осел. Ну и в ж..у его!