首页 > 解决方案 > 如何通过组 odoo 13 限制网站内容的可见性

问题描述

我在网站上有属于订阅的内容。基于订阅我将用户添加到组中如何在主页中根据组显示内容

还要隐藏页面的某些部分是用户(是登录)

我的代码

  <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>
      <attribute name="group">base.group_public</attribute>
    </xpath>
  </template>

标签: pythonodooodoo-13

解决方案


您可以像在 addons/portal/views/portal_templates.xml 中找到的那样进行操作。

                <div class="collapse navbar-collapse" id="top_menu_collapse">
                    <ul class="nav navbar-nav ml-auto text-right" id="top_menu">
                        <li class="nav-item divider" t-ignore="true" t-if="not user_id._is_public()"/>
                        <li class="nav-item dropdown" t-ignore="true" t-if="not user_id._is_public()">
                            <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">
                                <b>
                                    <span t-esc="user_id.name[:23] + '...' if user_id.name and len(user_id.name) &gt; 25 else user_id.name"/>
                                </b>
                            </a>
                            <div class="dropdown-menu js_usermenu" role="menu">
                                <a id="o_logout" class="dropdown-item" t-attf-href="/web/session/logout?redirect=/" role="menuitem">Logout</a>
                            </div>
                        </li>
                    </ul>
                </div>

如果未记录“用户”,则方法_is_public()返回 True,否则返回 false


推荐阅读