public static function getAllowedTargets()
{
$list = parent::getAllowedTargets();
$list[] = 'myTarget';
return $list;
}
Если такой метод есть и он передает массив с именем таргета / таргетов - значит виджет покажется только если текущий таргет есть в этом массиве. Если нет - то при любом.
А если это виджет страницы (то есть - он входит в списки admin.center для админки или center для клиентского интерфейса) - то если его отображение не ограничено по таргету - он показывается всегда :)
Соответственно - таким образом мы получили некий служебный виджет, который показывает, например, количество залогиненых пользователей, количество заказов, текущее время и пр.
Пара моментов:
- Не забываем про более высокоуровневый метод isVisible(), используя который можно управлять видимостью виджета уже не на уровне совпадения таргетов, а принимая решение, запрашивая модели и возвращая либо true либо false.
- Надо помнить, что если метод getAllowedTargets() возвращает пустой массив - это означает, что он показывается везде
Комментариев нет:
Отправить комментарий