Меню
Содержание
Использование меню
Меню - это одна из самых небольших абстракций в odoo, тем не менее необходимо уделить некоторое внимание данному вопросу. В системе odoo меню представляет собой обычное дерево где каждый пункт либо вызывает экшен либо содержит дополнительные пункты меню. Корнем (т.е. основание откуда формируется меню) является кнопка основного меню:
- Кнопка основного меню
- Основной пункт меню, который находится на первом уровне после кнопки корневого меню
- Пункт меню второго уровня
Как вы можете видеть - пункты меню описываются в xml файле и не требует каких либо серьезных навыков. Сами пункты меню меню находятся в модели ir.ui.menu
. И нам не обязательно использовать тег <menuitem/>
мы можем спокойно создать запись как и для любой модели. Например:
<menuitem
id="first_model_menu_root"
name="First Model Root"
web_icon="first_module,static/description/icon.svg"
active="True"
sequence="100"
>
Мы можем заменить:
<record id="first_model_menu_root" model="ir.ui.menu">
<field name="name">First Model Root</field>
<field name="web_icon">first_module,static/description/icon.svg</field>
<field name="active">True</field>
<field name="sequence">100</field>
</record>
Об этом подробнее можно будет почитать в статье про файлы данных(напишу позже).
На картинке выше вы можете видеть что пункты меню формируют иерархию будучи вложенными друг в друга, в более ранних версиях такой функционал отсутствовал и вместо этого просто указывали параметр:
<field name="parent_id" ref="parent_of_first_model_menu_root"/>
Задания для самостоятельного повторения:
- Создайте альтернативный набор пунктов меню, который в конце будет запускать тот же самый экшен.
Обсуждение
Обсудить, указать на ошибки и опечатки можно здесь