xml - 视图负责 Odoo12 中的顶部导航栏
问题描述
我正在尝试将徽标添加到顶部导航栏,并且正在寻找要继承的视图 ID,这将允许我使用 xpath 定位propper元素。
我无法找到负责保存两个相邻元素的导航栏布局的视图。
我发现了这样的东西:addons\website\views\website_navbar_templates.xml
。但它没有定义这两个相邻的节点(存在于浏览器检查元素工具中):
<ul class="o_menu_apps">
和
<a class="o_menu_brand" role="button">
它们只存在于静态 xml:addons\web\static\src\xml\menu.xml
中。但我不知道我是否可以使用我的自定义模块和 xpath 来修改这个 xml。
内部:addons\website\views\website_templates.xml
我看到了这段代码:
<template id="layout_logo_show" inherit_id="website.layout" customize_show="True" name="Show Logo">
<xpath expr="//header//a[hasclass('navbar-brand')]" position="replace">
<a href="/" class="navbar-brand logo">
<span t-field="res_company.logo" t-options="{'widget': 'image'}" role="img" t-att-aria-label="'Logo of %s' % res_company.name" t-att-title="res_company.name" />
</a>
</xpath>
</template>
这个标志在哪里?我在 Odoo12 中没有看到任何徽标。我认为没有名为“导航栏品牌”的课程。
解决方案
我最终用我的自定义模块覆盖了静态 xml 文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-extend="Menu">
<t t-jquery="*" t-operation="replace">
<div style="height:100%; background-color: #4c4c4c;">
<nav class="o_main_navbar">
<ul class="o_menu_apps"/>
<div class="example_div">
<a href="https://google.com/" target="_blank">
<img src="example.png"/>
</a>
</div>
<a class="o_menu_brand" role="button"/>
<ul class="o_menu_sections" role="menu"/>
<ul class="o_menu_systray" role="menu"/>
</nav>
</div>
</t>
</t>
</templates>
我把这个文件放在里面static/src/xml
并在 manifest.py 中调用它
'qweb': [
'static/src/xml/*.xml',
],
推荐阅读
- unity3d - 这只是 if 命令括号内的一个变量
- nativescript - Nativescript 从代码更改底部导航选项卡
- spring-boot - Redis 是否支持在 HASH 中的字段(hashKey)级别设置过期?
- java - 在java中修剪或剪切字符串的一部分
- python - 如何通过输入使值真或假?
- javascript - Firebase 存储:以与有序文件相同的顺序返回 URL
- laravel - laravel - 从控制器返回视图与直接从路由返回视图?
- loopback - Loopback3:重置密码流程 - 如何检查令牌是否过期
- apache-kafka-streams - 映射一对多关系
- ionic-framework - Ionic 5:无法使用 FCM 插件:Google Firebase Cloud Messaging Cordova Push Plugin