odoo res.config.settings视图继承

108 篇文章 4 订阅
19 篇文章 0 订阅

转自 长沙-Vnsoft

所有模块中的配置视图定义都需要继承res_config_settings_view_form,而且其中的html也需要符合相应的规范。我们来看一个简单的定义:

<record id="res_config_settings_view_form" model="ir.ui.view">
  <field name="name">res.config.settings.view.form.inherit.account</field>
  <field name="model">res.config.settings</field>
  <field name="priority" eval="40"/>
  <field name="inherit_id" ref="base.res_config_settings_view_form"/>
  <field name="arch" type="xml">
    <xpath expr="//div[hasclass('settings')]" position="inside">
      <div class="app_settings_block" data-string="Invoicing" string="Invoicing" data-key="account" groups="account.group_account_manager">
        <h2>Taxes</h2>
        <div class="row mt16 o_settings_container" name="default_taxes_setting_container">
          //具体的配置字段布局
        </div>
      </div>
    </xpath>
  </field>
</record>

上面定义中几个关键的点:

  • 需要继承base.res_config_settings_view_form

  • xpath定位基本不用改,就是这样子在祖先视图的

    中增加一个新的div元素

  • xpath下的第一个元素必须是div,并且赋予class='app_settings_block‘,通过查看js会知道其实配置界面左边的导航列表就是取这里定义的class为app_settings_block的所有div元素构成的。

  • 这里的第一个div元素还有一些重要的属性,data-string为设置中左边导航位置显示的文字内容,另外图标是默认显示模块中的/static/description/icon.png,data-key为模块名称,表示这一段配置是属于哪一个模块,groups指定有权限修改配置的群组。

  • 第一个div下一级,一般就是一个h2元素搭配一个div元素,用于表示配置中某一个范围的参数,h2元素是范围名称,div是参数布局html。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值