One of my current projects in Odoo 13.0 requires a lot of dynamically created widgets/items. In this example my goal is to create a new menuitem, whenever a certain model gets saved into the database.
Creating a hard coded menuitem in the view.xml is fairly easy in odoo but is there a way to create a new one dynamic from the code behind e.g. JS/Python?
The possibility of creating a whole new HTML-based view with Qweb is also known, but was not my first intention because it should be in the same form as my parent module.
此問題已被標幟
1
回覆
9588
瀏覽次數
Below is my implementation of creating a dynamic menu item. Firstly I create a new action to point the menu item too and then create the new menu item. In the below example this is being made in a create function when I create a new record in a table. Be sure to delete these actions/menuitems manually if you uninstall and reinstall the module. Hope this helps.
| action_vals = { | |
| 'name': vals['menu_name'], | |
| 'xml_id': 'module_name.documents_list_action', | |
| 'res_model': 'business.management', | |
| 'type': 'ir.actions.act_window', | |
| 'target': 'current', | |
| 'view_mode': 'tree,form', | |
| 'domain': "[('le_document_type', '=', '" + vals['menu_name'] + "')]", | |
| } | |
| action = self.env['ir.actions.act_window'].create(action_vals) | |
###get the parent menu item | |
| parent_menu = self.env['ir.ui.menu'].search([('name', '=', 'DropDownParentMenuItem')]) | |
| for menu in parent_menu: | |
| if menu.parent_id.name == 'ModuleParentMenuItem': | |
| parent_id = menu.id | |
| parent_path = menu.parent_path | |
| menu_item_vals = { | |
| 'action': 'ir.actions.act_window,%d' % (action.id,), | |
| 'active': True, | |
| 'display_name': vals['menu_name'], | |
| 'name': vals['menu_name'], | |
| 'parent_id': parent_id, | |
| 'parent_path': parent_path, | |
| } | |
| menu_item = self.env['ir.ui.menu'].create(menu_item_vals) | |
| 相關帖文 | 回覆 | 瀏覽次數 | 活動 | |
|---|---|---|---|---|
|
|
1
6月 22
|
8902 | ||
|
|
4
5月 24
|
16545 | ||
|
|
1
4月 24
|
6047 | ||
|
|
4
1月 24
|
26285 | ||
|
Attrs attribute
已解決
|
|
2
1月 24
|
4731 |