Подскажите как сделать следующее: При создании нового блок есть такой блок "Последние посты в блоге" у этого блока одно заполнение "Блог: последние посты". Мне надо добавить еще один заполнитель.
Смотрел схему для аддона Блог, в ней есть еще заполнение blog.recent_posts_scroller, но оно не отображается в списке заполнение при редактировании блока. Я пробовал создать своё заполнение по аналогии с blog.recent_posts, но оно тоже в списке заполнения не отображается.
Далее решено было смотреть исходники и вот что нашел
1) В block_manager.php в строках
if (is_array($block_scheme['templates'])) {
// вот тут назначается шаблон по умолчанию(наверное), т.е. всегда для этого блока "Последние посты в блоге" будет шаблон addons/blog/blocks/recent_posts.tpl
$block_data['properties']['template'] = current(array_keys($block_scheme['templates']));
} else {
$block_data['properties']['template'] = $block_scheme['templates'];
}
2) Далее в методе
public static function isFillingAvailable($params, $block_scheme, $filling_name)
{
if (isset($params['properties']['template'])) {
$template = $params['properties']['template'];
// вот тут происходит проверка есть ли у шаблона addons/blog/blocks/recent_posts.tpl заполнение и если есть то по результатами проверок всех заполнений $filling_name остается только одно заполнение blog.recent_posts
if (isset($block_scheme['templates'][$template]['fillings'])) {
return in_array($filling_name, $block_scheme['templates'][$template]['fillings']);
}
}
return true;
}
3) Изменил схему следующим образом
$schema['addons/blog/blocks/recent_posts.tpl']['fillings'][] = 'blog.category_posts';
т.е. добавил свой заполнитель к шаблону, в результате в списке заполнение отобразилось мое заполнение.
Но это решение мне кажется не совсем верным, т.к. заполнение не должно привязываться к шаблону, а должно привязываться к блоку
Вопрос: Как мне создать свое заполнение для блока "Последние посты в блоге"