Блок пользователя
Регистрация на нашем сайте позволит вам общаться на форумах и получить доступ к другому полезному функционалу
Вы вошли как Гость

Автор Сообщение
admin
Аватар

Администратор
Сообщения: 68

[Plugin] Comlist
  • #1
  • 19.09.2023 18:46

Плагин вывода комментариев по условиям. Фактически создан вокруг функции sedby_comlist().

Страница скачивания | Репозиторий на Github

Поблагодарили
Крамер
Аватар

Участник
Сообщения: 5

Re: [Plugin] Comlist
  • #2
  • 21.09.2023 23:34

Добрый вечер. Интересный плагин. Расскажите как в нем реализовано кэширование.

Поблагодарили
admin
Аватар

Администратор
Сообщения: 68

Re: [Plugin] Comlist

Добрый день. Кэширование включается присваиванием переменной $enableCache значения true. Это происходит при выполнении всех следующих условий:

  1. включен системный кэш aka Memory Cache,
  2. аргумент $cache_name имеет непустое значение,
  3. аргумент $cache_ttl имеет целое значение больше нуля,
  4. пользователь не авторизован.

Далее при включенном кэше и присутствии в таблице cot_cache базы данных записи с именем $cache_name содержимое данной записи будет возвращено функцией sedby_comlist() в точку ее вызова.

Если в таблице cot_cache данной записи не найдено, функция полностью отработает.

Если кэш включен, аргумент $pagination имеет пустое значение, и количество выведенных в основном цикле элементов больше нуля, будет сформирована запись в таблицу cot_cache.

Поблагодарили
Крамер
Аватар

Участник
Сообщения: 5

Re: [Plugin] Comlist
  • #4
  • 22.09.2023 20:27

Понятно. А для чего поиск пробелов в имени записи кэша?

Поблагодарили
admin
Аватар

Администратор
Сообщения: 68

Re: [Plugin] Comlist
#19 Крамер:

Понятно. А для чего поиск пробелов в имени записи кэша?

А это на случай вызова типа:

{PAGE_SOME_EXTRAFIELD|sedby_comlist('comlist', '5', 'com_date DESC', '', '1', '0', '', '', $this, '86400')}

Если в таком экстраполе присутствует пробел, то имя кэша будет тоже с пробелом. В принципе, проверял, работает. Но для уверенности лучше от пробелов избавляться.

Поблагодарили
Джанго
Аватар

Участник
Сообщения: 3

Re: [Plugin] Comlist

Спасибо за плагин, все замечательно работает. Один главный вопрос: если включаю аякс, пропадает разметка паджинатора. Я изначально переопределяю ее через ресурсы, и при формировании страницы она выводится нормально. Но при аякс-переходе моя разметка теряется, и используется дефолт. Как это исправить?

Поблагодарили
admin
Аватар

Администратор
Сообщения: 68

Re: [Plugin] Comlist
  • #7
  • 26.09.2023 17:12
#22 Джанго:

Один главный вопрос: если включаю аякс, пропадает разметка паджинатора. Я изначально переопределяю ее через ресурсы, и при формировании страницы она выводится нормально. Но при аякс-переходе моя разметка теряется, и используется дефолт. Как это исправить?

Если коротко, то алгоритм следующий:

Выносим кастомную разметку паджинатора в отдельный ресурс-файл и подключаем его в теме

require_once cot_incfile('ottawa', 'theme', 'rc.pagination');

В ajax-части плагина comlist присутствует хук comlist.ajax.first. Через него аналогичным образом подключаем нашу паджинацию для ajax-ответа:

require_once cot_incfile('ottawa', 'theme', 'rc.pagination');

Подробно расписал здесь.

Отредактировано: admin (26.09.2023 17:45, 7 месяцев назад)
Поблагодарили