Получение опций любого виджета в шаблоне контроллера

InstantCMS 2.X
#1 22 октября 2023 в 16:04

Здравствуйте! Помогите разобраться с вопросом — как получить опции любого виджета не в шаблоне этого виджета?

Например. В файле menu.tpl.php шаблона мне нужно получить данные из виджета с именем 'name_widget'. Как я понимаю — нужно подключить модель компонента «Widgets», но пока не выходит — не нашла внутри него нужной мне функции.

Буду благодарна за подсказку, заранее всем спасибо!

#2 22 октября 2023 в 22:00

С виджетами всё непросто. У виджетов нет имен типа 'name_widget', есть widget_id, page_id и position.

#3 23 октября 2023 в 08:25

Примерно так получаю опции одного виджета моего компонента погода

  1. $widget = $this->model->filterEqual('controller', 'zpogoda5')->filterEqual('name', 'zpogoda5')->getItem('widgets');
  2. $bind = $this->model->filterEqual('widget_id', $widget['id'])->get('widgets_bind');
  3. dump($bind->options);

Если во второй запрос добавить сортировку, то можно получить опции последнего размещенного виджета. Или первого.

#4 23 октября 2023 в 12:18

 Zau4man, спасибо за решение. У меня тоже получилось разными обходными путями добраться до options. Ваш метод покороче будет) 

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.