LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
25.05.2012, 13:11:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Страница типа блог - запросы и варианты решения  (Прочитано 1086 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« : 13.03.2010, 01:52:18 »

Сергей, обсуждали этот вопрос вскользь раньше, сейчас предлагаю коллективную мысль
Имеем - блог категории материалов, для категории в настройках комментов включено комментирование.
Плагин для каждого материала делает отдельный запрос на получение комментов
Задача - свести все в один запрос для генерации страницы

Текущее решение плагином - один материал == один запрос на получение количества
Хардкорное решение - в модели com_content править запрос в базу, цеплять таблицу через JOIN, предварительно проверяя, назначена ли данная категория для комментов

Вопрос - каким макаром можно это дело оптимизировать?
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #1 : 20.04.2010, 19:43:13 »

Ну как вариант, который давно хочется попробовать, не заполнять счетчик с помощью плагина, а вставлять маркер вида:

Код:
{jcomments object_id=123 object_group=com_content type=count}

А уже в системном плагине, на событие onAfterRender, собирать вот такие маркеры, дергать для них один запрос, и заменять маркеры, на нужный текст. Но тут получается двойная работа - сначала на onPrepareContent, мы проставим маркеры (отсюда это как бы удобно сделать - тут и ссылка есть и с readmore все понятно), а затем мы будем заменять эти маркеры на счетчики.

Из явных плюсов - во-первых один запрос, против N (где N - количество материалов, где разрешены комментарии), во-вторых счетчик комментариев всегда будет "честным", независимо от кэша.

Из явных минусов - усложнение логики и возможно некоторое замедление, потому как без регулярных выражений обойтись проблематично, а они все-таки не очень быстрые. Кроме того, сейчас эти ссылки выводятся шаблоном, одним файлом (tpl_links.php), а получается, что для данной реализации, ссылку Подробнее нужно будет вставлять в onPrepareContent, а ссылку Комментарии (или Добавить комментарий) - в onAfterRender, и это тоже далеко не прозрачно будет.

Была еще идея обновления значений счетчиков посредством AJAX, чтобы решить проблему с кэшированием материалов, но там тоже есть свои недостатки. В общем готов выслушать какие-то дополнительные идеи, по данному вопросу.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet