Вызов меню в шаблоне без виджета

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 13 марта 2024 в 21:34

В main.tpl эта конструкция не работает:

  1. <?php $this->menu('menu_name'); ?>

Меню отображается только когда добавляю нужное меню через виджеты, тогда оно появляется в объекте $this и выводится в шаблоне через прямой вызов

#2 13 марта 2024 в 21:42

В main.tpl эта конструкция не работает:

Smooch

И не должна

Меню отображается только когда добавляю нужное меню через виджеты

Smooch

Потому что виджет делает

  1. $menu_items = modelMenu::getMenuItemsByName($menu_name);
  2. if(!$menu_items){ return false; }
  3.  
  4. $template->setMenuItems($menu_name, $menu_items);

Вот так выведется:

  1. <?php
  2. $this->setMenuItems('menu_name', modelMenu::getMenuItemsByName('menu_name'));
  3.  
  4. $this->menu('menu_name');
  5. ?>

Но это плохая практика. Выведите виджет меню там, где вам нужно и всё.

#3 14 марта 2024 в 14:31

Понял, спасибо. Значит делаем через виджеты. Давно мучал этот вопрос, часто нужно несколько блоков меню в футере, думал что проще и быстрее напрямую)

Вопрос решен

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