Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Tạo và quản lý Menu trên Odoo - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Để tạo và quản lý Menu trên Odoo, chúng ta có hai phương pháp: sử dụng giao diện quản trị của Odoo hoặc thực hiện thông qua mã nguồn trong một Odoo Module. Trong bài viết này, bài viết sẽ hướng dẫn cả hai cách để bạn có sự linh hoạt trong việc tạo và quản lý các menu trên Odoo.

1. Tạo và quản lý Menu trên giao diện Odoo

1.1. Bật chế độ “Developer Mode

Để quản lý Menu trên Odoo bạn cần bật chế độ “Developer Mode

Vào [ Setting ] => Bấm vào “Activate the developer mode

1.2. Xem danh sách menu của Odoo

Khi đã bật thành công “Developer Mode”, chúng ta truy cập tới trang quản lý Menu của Odoo như sau:

Vào [ Setting ] => [ Technical ] => [ Menu Items ]

Ở đây bạn có thể tạo Menu dễ dàng bằng việc bấm button [ Create ]

1.3. Tạo Menu trên giao diện Odoo

Sau khi bấm button [Create] trên trang quản lý Menu, một màn hình đăng ký Menu sẽ hiển thị ra. Ở đó bạn cần nhập các thông tin sau:

  • Menu: Tên Menu (Sẽ được hiển thị)
  • Parent Menu: Menu cha (Nếu không chọn thì nó sẽ hiển thị ở Top Menu bên trái của Odoo)
  • Sequence: Vị trí của Menu
  • Action: Khi bấm vào Menu sẽ gọi action này, để đi tới 1 trang đã được định nghĩa từ trước, như mình chọn là mở màn hình List của “Actions”

Bên dưới mục “Access Rights“, thêm quyền hạn để có thể truy cập tới Menu của bạn.

=> Bấm [ Save ] để tạo menu

Kết quả là menu đã được tạo thành công và hiển thị ở vị trí mong muốn:

2. Tạo và quản lý Menu trong Odoo Module

Trong phần đầu tiên, chúng ta đã tìm hiểu cách tạo và quản lý Menu trên giao diện của Odoo. Bây giờ, chúng ta sẽ tiến xa hơn bằng việc hướng dẫn cách thêm một Menu bằng code vào một Odoo Module.

Giống như chúng ta đã làm trong bài viết trước, chúng ta đã tạo một module với tên là My_Contacts, kế thừa từ module sẵn có của Odoo là Contacts. Bước tiếp theo của chúng ta là thêm một Menu vào giao diện của Odoo và hiển thị danh sách các contacts.

2.1. Thêm 1 Menu Items

Để thêm 1 menu item chúng ta thêm đoạn XML vào file view như sau:

Sửa file views/my_contacts_view.xml:

<menuitem
      name="My Contacts"
      id="my_contacts.menu_root"
      sequence="2"
      action="my_contacts_action_window"
      groups="base.group_user" />

Với:

  • Name: Là tên của menu
  • ID: ID định danh cho menu
  • Sequece: Vị trí của Menu Item so với các Menu Item khác
  • Action: Menu này sẽ được control tới action nào trong Odoo
  • groups: Nhóm user có quyền truy cập tới menu này
  • parent: Menu cha (Nếu bạn muốn nó là con của 1 Menu Item khác)

2.2. Thêm 1 Menu Action

Sau khi thêm 1 menu item, chúng ta cần control nó tới đâu đó. Ở đây mình tạo 1 action “My Contacts Window” để khi bấm vào menu “My Contacts” nó sẽ dẫn tới trang hiển thị danh sách Contacts.

<record model="ir.actions.act_window" id="my_contacts_action_window">
      <field name="name">My Contacts Window</field>
      <field name="res_model">res.partner</field>
      <field name="type">ir.actions.act_window</field>
      <field name="view_type">form</field>
      <field name="view_mode">kanban,tree,form,activity</field>
    </record>

File views/my_contacts_view.xml sẽ có nội dung cuối cùng như sau:

<odoo>
  <data>
    <!-- explicit list view definition -->
    <record model="ir.ui.view" id="my_contacts.form_view">
      <field name="name">my_contacts Form View</field>
      <field name="model">res.partner</field>
      <field name="inherit_id" ref="base.view_partner_form"></field>
      <field name="arch" type="xml">
        <field name="category_id" position="after">
            <field name="wage" placeholder="Wage"/>
        </field>
      </field>
    </record>
    <record model="ir.actions.act_window" id="my_contacts_action_window">
      <field name="name">My Contacts Window</field>
      <field name="res_model">res.partner</field>
      <field name="type">ir.actions.act_window</field>
      <field name="view_type">form</field>
      <field name="view_mode">kanban,tree,form,activity</field>
    </record>
    <menuitem
      name="My Contacts"
      id="my_contacts.menu_root"
      sequence="2"
      action="my_contacts_action_window"
      groups="base.group_user" />
  </data>
</odoo>

2.3. Nâng cấp Module

Để odoo nhận Menu Item mới chúng ta cần nâng cấp Module My_Contacts

Từ Menu Top bên trái => [ Apps ] => [ My Contacts ] => bấm “Upgrade”

Sau đó refresh lại màn hình và kết quả chúng ta thu được:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *