Модуль buCounter
модуль для подсчета кол-ва потомков у атома
Что будем считать?
В таблице атомов есть поле для подсчета кол-ва потомков a_count но вот вопрос - какие типы связей надо считать? Например возьмем категории у них есть связи с постами categoty_post собственно они для этого и предназначены категории группировать посты, однако еще есть связи с категориями это когда мы выстраиваем иерархическую структуру category_category. Для этого плагина необходимо явно указать какого типа связи мы будем подсчитывать. это делается в файле buCounterConfig.php
$buCounterConfig = [
'pairs' =>
[
'tag_post',
'category_post',
'post_comment',
'user_post',
'device_image',
'device_video',
'device_audio',
'category_image',
'category_video',
'category_audio',
]
];
Отредактируйте это массив под свои нужды.
Работа плагина
В работе плагин подключается к 4 хукам
- deleteLinks - перед удалением связей , сохраняем список связей которые сейчас будем удалять, список сохраняется в глобальную переменную $buSaveTmpLinks
- insertLinks_ - хук после добавления новых связей
- updateLinks_ - хук после обновления связей
- deleteLinks_ - после удаления связей
Принудительный пересчет
У плагина есть возможность запустить принудительный полный пересчет потомков по всем типам указанным в массиве для этого необходимо зайти на адрес типа http://mysite/?allCount=recount процесс может быть долгим!