You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo V16中如何替换web.login_layout里的“Powered by Odoo”按钮?

解决Odoo 16替换登录页“Powered by Odoo”的问题

问题根源

你的代码失效主要有两个原因:

  • 模板文件路径错误:后端QWeb模板不应放在static/src/xml目录下,该目录用于前端组件模板,而非后端渲染的页面模板。
  • XPath定位不匹配:Odoo 16的登录页底部区域结构有细微调整,原XPath无法命中目标元素。

修正步骤

1. 调整文件结构

将edit_weblayout.xml从static/src/xml移动到模块根目录的views文件夹下(无views文件夹则新建)。

2. 更新manifest.py路径

修改manifest.py中的data字段,指向正确的模板路径:

"data": [
    "views/edit_weblayout.xml",
],

3. 修正模板内容

使用精准的XPath定位目标区域并替换为自定义内容:

<odoo>
    <data>
        <template id="custom_login_layout" inherit_id="web.login_layout" priority="10">
            <!-- 定位底部版权容器并替换 -->
            <xpath expr="//div[hasclass('text-center', 'small', 'mt-4', 'pt-3', 'border-top')]" position="replace">
                <div class="text-center small mt-4 pt-3 border-top">
                    <!-- 自定义内容示例 -->
                    <p>© 2024 你的公司名称</p>
                </div>
            </xpath>
        </template>
    </data>
</odoo>

若上述XPath仍无法命中,可直接定位“Powered by Odoo”的父容器:

<xpath expr="//a[contains(text(), 'Powered by Odoo')]/.." position="replace">
    <div class="text-center small mt-4 pt-3 border-top">
        <p>自定义版权信息</p>
    </div>
</xpath>

4. 生效操作

  • 重启Odoo服务
  • 在应用列表中找到你的自定义模块,点击升级
  • 清除浏览器缓存(或用隐私模式打开登录页)查看效果

内容的提问来源于stack exchange,提问作者TheOdemMove

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 05:20:24