콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
5 답글
13046 화면

Hello there,
I had to recreate the public user in one server.

How could I hide this menu item public user - AS when nobody is logged on the website?

Thanks to help. 

아바타
취소

use record rule perhaps?

베스트 답변

https://youtu.be/zHPtb1SR8Sk

아바타
취소
베스트 답변

you can try this module 

https://github.com/OCA/website/blob/9.0/website_menu_by_user_status


in short just check  request.uid == %(base.public_user)d



<t-if="request.uid == %(base.public_user)d)"> put you code here </t>

아바타
취소
베스트 답변

This I found to work in odoo V12.

<template id="search_directory"name="Online Directory Search"inherit_id="portal.frontend_layout">	​    <xpathexpr="//ul[@id='top_menu']/li[1]"position="after"><ahref="/search"role="menuitem"groups="base.group_user,online_directory.od_basic_search"class="nav-link">Online Directorya>
xpath>
template>
아바타
취소
베스트 답변

You can set groups (internal user & portal user) for the website menu in order to hide the menu for public user when not logged in.

Example:

name="group_ids" eval="[(4, ref('base.group_user')), (4, ref('base.group_portal'))]"

아바타
취소
작성자 베스트 답변

Our answer. hanks everybody.


<template id="layout_iv" inherit_id="website.layout" >

<xpath expr="//li[@class='dropdown']" position="replace">

<t t-if="request.uid != %(base.public_user)d">

<li class="divider" t-ignore="true" t-if="website.user_id != user_id"/>

<li class="dropdown" t-ignore="true" t-if="website.user_id != user_id">

<a href="#" class="dropdown-toggle" data-toggle="dropdown">

<b>

<span t-esc="user_id.name"/>

<span class="caret"></span>

</b>

</a>

<ul class="dropdown-menu js_usermenu" role="menu">

<li><a href="/web" role="menuitem">My Account</a></li>

<li class="divider"/>

<li><a t-attf-href="/web/session/logout?redirect=/" role="menuitem">Logout</a></li>

</ul>

</li>

</t>

</xpath>

</template>

아바타
취소
관련 게시물 답글 화면 활동
2
2월 24
14522
1
2월 16
4870
1
8월 15
7448
4
1월 23
26503
3
12월 22
7123