Меню

Содержание

Использование меню

Меню - это одна из самых небольших абстракций в odoo, тем не менее необходимо уделить некоторое внимание данному вопросу. В системе odoo меню представляет собой обычное дерево где каждый пункт либо вызывает экшен либо содержит дополнительные пункты меню. Корнем (т.е. основание откуда формируется меню) является кнопка основного меню:

Описание меню

  1. Кнопка основного меню
  2. Основной пункт меню, который находится на первом уровне после кнопки корневого меню
  3. Пункт меню второго уровня

Как вы можете видеть - пункты меню описываются в 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"/>

Задания для самостоятельного повторения:

  1. Создайте альтернативный набор пунктов меню, который в конце будет запускать тот же самый экшен.

Обсуждение

Обсудить, указать на ошибки и опечатки можно здесь