如何使字段显示需要(通过着色)

时间:2016-05-24 15:28:29

标签: xml openerp odoo-8 odoo-view

假设我有一些必需的模块属性,由于与某些操作(例如重复)冲突的原因而无法必需。通过引发ValidationErrors,可以在创建过程中轻松克服这些属性。

但是,我想在xml文件表单视图中调整字段参数,以使这些字段以蓝色显示给用户(就像它们是必需的一样)。

PS

我尝试了以下所有

<field name="name" bgcolor="blue" fgcolor="red" color="black" colors="purple"/>

只是为了看看它们中是否有任何效果。

我还重置了本地服务器并更新了模块本身,认为可能在服务器重置时不会重新加载xml文件。

关于表单视图中自定义着色字段的任何想法都会非常有用。

3 个答案:

答案 0 :(得分:2)

您可以将它们添加为这样的类:

<field name="name" class="red"/>

.red {
    background:red;
    /* additional css here */
}

答案 1 :(得分:0)

您应该将这些属性写入树标记,如下所示:

<tree colors="black" bgcolor="yellow:name == other" string="Invoice">
    <field name="name" />
    <field name="other" />
</tree>

Example from odoo source

  

在.xml side&lt;,&gt;,&lt; =,&gt; =,&amp;不受支持。所以我们需要使用&lt;&gt;&lt;= &gt;=&amp;

答案 2 :(得分:0)

&#34;官方节点上的XML属性&#34;经过验证,您无法随意添加它们。为v6开发web_field_style时,我必须patch .rng validation。我不认为该模块已移植到v8或v9(请参阅OCA web repo),因此我认为您有两个选择:

  1. 移植模块
  2. 使用带有自定义类的包装器div(是的,您可以将HTML写入表单视图),请参阅下面的示例

    &lt; div class =&#34; bla&#34;&gt;     &lt; field name =&#34; start_date&#34;列跨度=&#34; 2&#34;类=&#34;富&#34; /&GT; &LT; / DIV&GT;

  3. 在这个例子中,班级&#34; foo&#34;在球场上将被剥离,但包装div与班级&#34; bla&#34;会留在那里;)