如何将我的自定义菜单添加到门户用户菜单列表?

我有一个名为Portal Form. 我希望该菜单对具有 Portal 组的用户可见。

到目前为止,我已经创建了用户并为他们分配了 Portal 组。我还为门户组添加了我的模型的访问权限。上一个问题中建议的所有内容都与我的类似,我已经按照所有解决方案进行了操作。然而,我的自定义菜单对 Portal 用户不可见。

谁能告诉我它是如何实现的Odoo 11


慕田峪4524236
浏览 213回答 3
3回答

jeck猫

用于创建模板即新菜单的 XML 代码<template id="your_id" name="your name" inherit_id="portal.portal_my_home" priority="21">&nbsp; &nbsp; <xpath expr="//ul[hasclass('o_portal_docs')]" position="inside">&nbsp; &nbsp; &nbsp; &nbsp; <li class="list-group-item">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="badge" t-esc="quotation_count"/>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="/my/records/portal"> Portal Form</a>&nbsp; &nbsp; &nbsp; &nbsp; </li>&nbsp; &nbsp; </xpath></template>python代码在下面,它应该在控制器中class CustomerPortal(CustomerPortal):&nbsp; &nbsp; @http.route(['/my/records/portal', '/my/quotes/page/<int:page>'], type='http', auth="user", website=True)&nbsp; &nbsp; def portal_my_records(self, page=1, date_begin=None, date_end=None, sortby=None, **kw):&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; print("IN PYTHON CONTROLLER")&nbsp; &nbsp; &nbsp; &nbsp; data={}&nbsp; &nbsp; &nbsp; &nbsp; return request.render("module_name.template_name", data)这样,会创建一个名为 Portal Form 的新菜单,如果您单击该菜单,上面的 python 函数将起作用。如果您想调用另一个模板,您只需键入该模板的名称以返回该函数,数据是模板中可以使用的值。如果您使用其他版本的 odoo,模板的 inherit_id 将发生变化。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python