我的地址显示如下:
我希望地址在它的不同行中显示:
laubachstr.1
laubastr.2
belrin
汉堡
12345
德国
我尝试了这种方法,但是没有用:
下面是我的格式:
%(street)s
%(street2)s
%(city)s
%(state_id)s
%(zip)s
%(country_id)s
如何使此地址数据出现在不同的行中?
信息:我在表单视图中的地址字段是:
<div>
<div class="o_address_format" name="div_address">
<field name="street" placeholder="Street..." class="o_address_street"/>
<field name="street2" placeholder="Street 2..." class="o_address_street"/>
<field name="city" placeholder="City" class="o_address_city"/>
<field name="state_id" class="o_address_state" placeholder="State" options="{"no_open": True}" context="{'country_id': country_id, 'zip': zip}"/>
<field name="zip" placeholder="ZIP" class="o_address_zip"/>
<field name="country_id" placeholder="Country" class="o_address_country" options="{"no_open": True, "no_create": True}"/>
</div>
</div>
答案 0 :(得分:1)
如果您使用浏览器检查为表单视图生成的HTML代码,则会发现city, state_id
和zip
字段具有一个o_field_widget
类,而该类又有一个display: block-inline
,但您希望它是display: block
。
因此,假设您有一个名为my_module
的模块,一种解决方案如下:
创建一个新的CSS类。我已将其添加到my_module/static/src/less/style.less
.my_display_block {
display: block !important;
}
将样式文件添加到后端资产。我将其添加到my_module/templates/assets.xml
:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="assets_backend" name="my module backend assets" inherit_id="web.assets_backend">
<xpath expr="//script[last()]" position="after">
<link rel="stylesheet" href="/my_module/static/src/less/style.less"/>
</xpath>
</template>
</data>
</odoo>
修改您的联系表格。我将以下内容添加到my_module/views/res_partner.xml
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="address_in_block_form" model="ir.ui.view">
<field name="name">Display address in block style
<field name="model">res.partner
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='city']" position="attributes">
<attribute name="class" add="my_display_block" separator=" "/>
</xpath>
<xpath expr="//field[@name='state_id']" position="attributes">
<attribute name="class" add="my_display_block" separator=" "/>
</xpath>
<xpath expr="//field[@name='zip']" position="attributes">
<attribute name="class" add="my_display_block" separator=" "/>
</xpath>
</field>
</record>
</data>
</odoo>
最后,确保从__manifest__.py
'data': [
'templates/assets.xml',
'views/res_partner.xml',
# 'security/ir.model.access.csv',
],
您可以从https://github.com/AdanCortes/stackoverflow/tree/q52668609
答案 1 :(得分:0)
从字段组中删除div,然后从您的字段中删除class =“ o_address_street”。这可能会给您预期的结果。