Бесплатный плагин aceBlockManager - добавлены полезные фичи

В последней версии плагина aceBlockManager добавлены две полезные фичи:

1) Автоотключение блоков, принадлежащих неактивным плагинам
2) Добавлена возможность вывода блоков по произвольным условиям

1) Автоотключение блоков, принадлежащих неактивным плагинам
Бывают ситуации (особенно во время отладки или обновлений сайта), когда приходится отключать какие-то плагины на сайте. Но если в списке блоков задан блок из отключенного плагина, то получим кучу ошибок. Значит, надо лезть в конфигурацию плагина и там отключать блок. А если плагин надо то включать, то выключать, то замаешься править кофиг туда-обратно.

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

2) Добавлена возможность вывода блоков по произвольным условиям
Нередко пользователи спрашивали: а как мне сделать так, чтоб только зарегистрированным пользователям показывался блок? а можно сделать, чтоб только в определенное время показывался блок? а можно показывать блок только по такому-то условию?

В принципе это и раньше можно было, но через… в общем, не очень просто. А сейчас — проще пареной репы. Для этого в описание блока добавлена необязательная опция 'condition'. В ней задается произвольное php-выражение (в виде строки), которое вычисляется при инициализации блоков, если результат вычисления выражения равен true, то блок выводится, иначе — нет (значение опции по умолчанию — true). Т.е. теперь вывод блока на странице зависит и от опции display (см. здесь) и от опции 'condition'.

Пример, как показать блок только зарегистрированным и залогиненным пользователям:
$config['blocks'][] = array(
    'block' => '...', // название блока
    'position' => 'right', // позиционирование блока
    'params' => array(
    ),
    'condition' => '$this->User_GetUserCurrent()', 
);


А вот так можно задать демонстрацию плагина только по понедельникам:
$config['blocks'][] = array(
    'block' => '...', // название блока
    'position' => 'right', // позиционирование блока
    'params' => array(
    ),
    'condition' => 'date("N")==1', 
);


А вот так покажет плагин пользователю с IP 127.0.0.1:
$config['blocks'][] = array(
    'block' => '...', // название блока
    'position' => 'right', // позиционирование блока
    'params' => array(
    ),
    'condition' => '$_SERVER["REMOTE_ADDR"]=="127.0.0.1"', 
);


После модерации берем совершенно бесплатно здесь: livestreetcms.com/addons/view/255/

ЗЫ Как-нибудь соберусь однажды нормальные мануалы написать, но пока читаем здесь:
livestreet.ru/blog/8805.html
livestreet.ru/blog/4478.html

18 комментариев

avatar
гениально! как всегда!
  • F-5
  • 0
avatar
+100500, Спасибо!
avatar
Просто счастье к НГ. Спасибо!
avatar
Спасибо за плагин! Возникли вопросы:

1) Как сделать, чтобы был тот же стиль/размер/шрифт заголовков создаваемых блоков, как и у заголовков «Прямой эфир», «Блоги» в сайдбаре? Использую шаблон «Street Spirit».
2) Как сделать, чтобы всё содержимое создаваемого блока (включая сам заголовок блока) выравнивалось по центру в сайдбаре?

LS: 0.5.1. Шаблон:«Street Spirit».
avatar
Так надо взять шаблоны блоков и прописать в атрибутах элементов те же стили, как и в шаблонах используемого скина
avatar
Спасибо за подсказку. Сделал.
Еще вопрос. Какую роль играет: 'plugin' => 'aceblockmanager', // указывает, что это блок плагина. Что указывает, это понятно. А в чем главный смысл этой строки?

P.S. Шаблон «Street Spirit», в файле плагина config.local.php, в строке 'position' => 'значение', выравнивание блока по left или center или justify не работает, блок просто исчезает. Работает только при значении right.
avatar
А в чем главный смысл этой строки?
В том, что это блок плагина. Блоки (т.е. php-код блока и его шаблоны) могут объявляться как в самом движке, так и в плагине.

в строке 'position' => 'значение', выравнивание блока по left или center или justify не работает
А кто сказал, что это «выравнивание»? Это, скорее, параметр группировки блоков. Термин неудачный, но так уж исторически сложилось.
avatar
Да вы просто Чуров волшебник!
Спасибо:)
avatar
Подскажи пожалуйста, а как вывести блок только на странице топика? blog/topic не помогает.
avatar
Можно узнать когда исправят конфликт между «aceBlockManager» и «main url»
avatar
Спасибо за блог.
Вопрос: как мне сделать дополнительный шаблон блока? Например — Templat_Empty (условно). Где именно мне нужно прописать изменения что бы блок заработал? Дополнил где можно, но что-то не фурычит, выдает ошибку вида floomby.ru/content/S6GRSORVuU
avatar
Здравствуйте.
Очень заинтересовал данный плагин, но хотелось бы перед покупкой его пощупать.
Где и главное как это можно сделать? Доступ под адм аля демо версия?
avatar
плагин бесплатный. качай и тестируй сам
avatar
Извиняюсь за невнимательность, перепутал с livestreet.ru/blog/8795.html
avatar
В блоке usersonline зарегистрированных юзеров отображает строго 20. В конфиге прописано что максимум отображения — 20.
Вопрос: как сделать так, что бы в блоке отображалось 20 юзеров, но в верхней строчке вида «Зарегистрированных: 20, Гостей: 87» кол-во зарегистрированных не ограничивалось условием заданным в конфиге, а отображалось реальное кол-во зарегенных юзеров.
Заранее спасибо.
avatar
Все еще нужна помощь знающих людей.
avatar
Спасибо! Ждем новых мануалов:)
avatar
Будет ли под 1.0.1?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.