用户登录 Odoo 8/9 后如何更改 header URL?
How to change header URL after user logged in in Odoo 8/9?
我正在 Odoo 9 上制作网站,扩展网站和网络模块,并创建自定义主题。我在网站的 header 中添加了一些页面,其中之一是登录页面,用户可以在其中登录我的网站。
我的问题是,当用户登录时,"Sign In" 仍然存在,我希望将其更改为 "My Profile" 页面,以便用户处理其配置文件设置。
如何检查用户是否已登录并更改 header 中的元素?
网站模块不是已经有登录页了吗?无论如何,你可以继承website.layout来自定义网站菜单,试试这个:
<template id="custom_sign_in" customize_show="True" inherit_id="website.layout" name="Custom Sign In">
<xpath expr="//ul[@id='top_menu']" position="inside">
<li groups="base.group_public">
<a t-attf-href="/web/YourSignInPage">
<b>Custom Sign in</b>
</a>
</li>
<li t-if="website.user_id != user_id">
<a t-attf-href="/web/YourAccountPage">
<b>Custom Account</b>
</a>
</li>
</xpath>
</template>
我正在使用 odoo 8,不确定它是否适合 odoo 9,如果它不起作用请告诉我。
我的解决方案很像@SDBot 之一:
<template id="custom_header" inherit_id="website.layout" name="Custom Header">
<xpath expr="//div[@id='wrapwrap']/header" position="attributes">
<attribute name="id">my_header</attribute>
</xpath>
<xpath expr="//ul[@class='nav navbar-nav navbar-right']/li" position="before">
<t t-if="user_id.partner_id.name == 'Public user'">
<li>
<a href="/page/website.signin">
<span data-oe-model="website.menu" data-oe-id="3" data-oe-field="name" data-oe-type="char" data-oe-expression="submenu.name">SignUp</span>
</a>
</li>
</t>
<t t-if="not user_id.partner_id.name == 'Public user'">
<li>
<a href="/page/website.profile">
<span data-oe-model="website.menu" data-oe-id="3" data-oe-field="name" data-oe-type="char" data-oe-expression="submenu.name">My Profile</span>
</a>
</li>
</t>
</xpath>
</template>
我正在 Odoo 9 上制作网站,扩展网站和网络模块,并创建自定义主题。我在网站的 header 中添加了一些页面,其中之一是登录页面,用户可以在其中登录我的网站。
我的问题是,当用户登录时,"Sign In" 仍然存在,我希望将其更改为 "My Profile" 页面,以便用户处理其配置文件设置。
如何检查用户是否已登录并更改 header 中的元素?
网站模块不是已经有登录页了吗?无论如何,你可以继承website.layout来自定义网站菜单,试试这个:
<template id="custom_sign_in" customize_show="True" inherit_id="website.layout" name="Custom Sign In">
<xpath expr="//ul[@id='top_menu']" position="inside">
<li groups="base.group_public">
<a t-attf-href="/web/YourSignInPage">
<b>Custom Sign in</b>
</a>
</li>
<li t-if="website.user_id != user_id">
<a t-attf-href="/web/YourAccountPage">
<b>Custom Account</b>
</a>
</li>
</xpath>
</template>
我正在使用 odoo 8,不确定它是否适合 odoo 9,如果它不起作用请告诉我。
我的解决方案很像@SDBot 之一:
<template id="custom_header" inherit_id="website.layout" name="Custom Header">
<xpath expr="//div[@id='wrapwrap']/header" position="attributes">
<attribute name="id">my_header</attribute>
</xpath>
<xpath expr="//ul[@class='nav navbar-nav navbar-right']/li" position="before">
<t t-if="user_id.partner_id.name == 'Public user'">
<li>
<a href="/page/website.signin">
<span data-oe-model="website.menu" data-oe-id="3" data-oe-field="name" data-oe-type="char" data-oe-expression="submenu.name">SignUp</span>
</a>
</li>
</t>
<t t-if="not user_id.partner_id.name == 'Public user'">
<li>
<a href="/page/website.profile">
<span data-oe-model="website.menu" data-oe-id="3" data-oe-field="name" data-oe-type="char" data-oe-expression="submenu.name">My Profile</span>
</a>
</li>
</t>
</xpath>
</template>