Выкладываю тут доработку плагина и одно исправление в хаке. Пост интересен в первую очередь тем, кто уже внедрил данные доработки.
Приветствую! Пагинация в любом виде меня уже давно напрягала - даже если страницы и подгружаются на аяксе. Все-равно неудобно - надо кликать на следующую страницу, а иногда и возвращаться на предыдущие - много лишних действий, а люди же по природе своей ленивые. Суть доработки в том, что при прокрутке ленты активности (в модуле либо в компоненте) события подгружаются сами через аякс. От посетителя требуется лишь прокручивать колесико мышки. Важно: Тестировалось на версии 1.9. Про работу в более старых ничего сказать не могу.
Добрый день! Сегодня с утра решил заняться оптимизацией запросов и обнаружил такую штуку - при выводе комментариев делается N запросов к БД(по количеству комментов) на предмет оценки комментария текущим пользователем. То есть если в статье 30 комментариев - то делается 30 запросов ,чтобы проверить оценивали вы его или нет, что не есть хорошо. Данный хак (для версии инстанта 1.9) модифицирует запрос по получению комментариев и позволяет избавиться от ненужных N запросов. Сразу скажу - не пугайтесь, что "много букав" - меняется всего 4 строки (две добавить и две изменить). ВАЖНО: перед правкой обязательно сделайте копии файлов components/comments/model.php и components/comments/frontend.php
Приветствую! Продолжу тему аякса на сайте рассмотрением одного очень популярного модуля - "Кто онлайн?". Модуль популярный, но очень не оптимизированный. А вы знаете как он работает? - если кратко, то вот: 1. Получает авторизованных посетителей онлайн (1 запрос) 1а Проверяет каждого на принадлежность к администраторам (N запросов, по количеству посетителей) 1б Проверяет не админов на принадлежность к редакторам (N-a запросов, где а - количество админов) 2 Считает гостей онлайн (1 запрос) 3 Считает авторизованных посетителей за сегодня (1 запрос) 3а Проверяет каждого на принадлежность к администраторам (M запросов, по количеству посетителей) 3б Проверяет не админов на принадлежность к редакторам (M-b запросов, где b - количество админов)
Приветствую! В качестве первой записи в моем молодом блоге хочу поделиться плагином, который обновляет "Меню пользователя", а именно поле "Сообщения". Описание: На странице создается таймер, который с заданным интервалом спрашивает у сервера о наличии новых сообщений. Плагин оптимизирован под высокие нагрузки - в нем вообще не используются функции и классы движка. Всего один простой запрос для получения количества новых сообщений. Период обновления и класс объекта, внутри которого лежит поле "Сообщения" настраиваются из админки. По умолчанию период равен 15 секундам, класс объекта = "my_messages".