Как выставить приоритет своим виджетам?

Создал свой виджет. Файл положил в папку с шаблонами виджетов, в файле конфига виджетов описал его и выставил приоритет. Все заработало, виджет появился, но, я не могу добиться что бы поднять виджет выше или опустить ниже, меняю цифры в настройках но сам виджет остается на месте. Так же, он не появился в админке в разделе виджетов.
Собственно 2 вопроса, как сделать что бы виджет появился в админке и как правильно прописать приоритет?

Похожие статьи

  • Вывод виджета между топиками
    Всем привет! И снова я с вопросом)) Создал виджет с рекламным блоком от Google, вывел виджет в нужном месте в правой колонке. Так же вывел виджет между топиками и пагинатором, а вот как вывести виджет между...
  • 3 виджета «Social Profile» — Социальный профиль (концепт)
    Концепт набора виджетов для профиля пользователя. Решает сразу несколько задач: — показывает на стартовой странице профиля возможности движка — больше информативности и социальности — быстрый доступ к фотоальбому...
  • Вопрос по управлению виджетами
    Добрый день. Никак не могу разобраться с виджетами. Как все-таки осуществляется управление ими? Ситуация следующая. Все нужные блоки прописаны в конфиге widgets.php, тут же выставлены приоритеты В конфигах самих...
  • Как правильно оформлять виджеты плагина
    Для начала важно понять, что виджеты бывают двух видов — шаблонные и исполняемые. Шаблонные виджеты — это файлы-шаблоны, которые могут включаться в другие шаблоны.

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

0
Провел эксперимент. Создал виджет my (просто файл в папке с шаблонами виджетов). Добавил в config.local.php код
$config['widgets'][] = array(
    'name' => 'widgets/widget.my.tpl',  // шаблонный виджет
    'wgroup' => 'right',
    'priority' => 60,
    'action' => array(
        'index',
    ),
);
В админке сразу появился виджет.

И тут дальше надо быть внимательным, если вы поправите его приоритет в админке, то значение приоритета сохранится в базе в таблице prefix_storage, и оно будет важнее чем значение указанное в конфиге. До тех пор пока вы не сделаете «Сброс измененных параметров конфигурации», тогда значение возьмется из конфига
0
Заработало, спасибо.
Получается для того что бы виджет появился в админке его нужно прописывать в файле config.local.php а не в widgets.php который лежит в настройках темы?
И может тогда еще подскажите, как изменить приоритет плагинного виджета?
0
Я в widgets.php в который в теме и не пробовал добавлять =) Лучше в конфиг.

Приоритеты меняются или в файле/конфиге где он указан или в админке (т.е. в файле конфига плагина должен вызываться данный виджет, и вы в том кофиге можете изменить приоритет). Не совсем понимаю в чем конкретно у вас сложность. Приоритеты у нас обычно от 1 до 100, может вы меняете на незначительные значения?
0
Плагин BlockTop от LS. В файле конфига есть такие строки

// Настройки вывода блока
Config::Set('block.rule_blocktop', array(
'action' => array(
'index', 'blog' => array('{topics}','{topic}','{blog}')
),
'blocks' => array(
'right' => array(
'top' => array('params' => array('plugin' => 'blocktop'), 'priority' => 400),
)
),
'clear' => false,
));

Меняю значение priority (уже 400 поставил) ни чего не происходит, виджет как выводился 3 сверху так и выводится. Что я делаю не правильно?
+1
Да, нашел небольшой баг в плагине совместимости и если добавляется блок в стиле ЛС у него приоритет будет 5
Вам надо поменять код на
$config['widgets'][] = array(
    'name' => 'top',
    'group' => 'right',
    'priority' => 400,
	'params'=>array('plugin'=>'blocktop'),
    'action' => array(
		'index', 'blog' => array('{topics}','{topic}','{blog}')
    ),
);
+2
Или вы можете поправить как тут github.com/klaus-spb/altocms/commit/b75a448548253670d65e7b112b93e146f03e11ae
0
Заработало, спасибо большое за помощь
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.