OpenERP的。在树视图中动态添加图像到字段中

时间:2015-09-28 14:24:53

标签: openerp openerp-7

我正在使用 v7 ,我希望在tree view字段中显示图像图标(如信号量),具体取决于同一行中的其他字段值。

实际上,我通过函数字段获得了我想要的功能,并将结果作为字符串,但我真的希望它作为图像。我不知道是否可以从函数返回HTML,所以我决定使用jQuery执行此操作。

我使用浏览器控制台实现了jQuery代码,但是当我将jQuery code放在视图中时,"数据字段"选择器未选中。

拜托,有人可以解释我为什么或告诉我另一种方法来实现我的目标吗?

1 个答案:

答案 0 :(得分:3)

<强>解释

列表视图的根元素是。列表视图的根目录可以具有以下属性:

editable,default_order,colors,fonts,create,edit,delete,on_write,string

详细了解ListView

您可以通过在列表视图中定义子元素按钮来实现此目的。 我在产品中添加了图标,以根据产品的状态显示产品是否可用/保留/销售。

  • 按钮

    图标:用于显示按钮的图标

要在列表视图中显示图标的Xml代码。

<xpath expr="//notebook/page[@string='Order Lines']/field[@name='order_line']/tree[@string='Sales Order Lines']/field[@name='product_id']" position="before">
      <field name="product_status" invisible="1" />
      <button icon='Hold' readonly="1" attrs="{'invisible':[('product_status', '!=', 'hold')]}"/>
      <button icon='Available' readonly="1" attrs="{'invisible':[('product_status', '!=', 'available')]}"/>
      <button icon='sold' readonly="1" attrs="{'invisible':[('product_status', '!=', 'sold')]}"/>
</xpath>

注意

  • 请记住您定义按钮可见性的基本字段 出现在列表视图中,无论它是否可见都无关紧要 必须在那里,例如上例中的 product_status
  • 基本字段必须 store = True

    为什么存储=真

  

原因:当您设置任何功能字段存储=真时,它将在数据库中物理创建,而您在此处提供此字段名称   domain odoo框架直接在 WHERE 子句中添加此字段,   它不会通过可浏览对象访问,所以如果你的字段是   存储=错误然后它无法找到该字段并给您一个错误。

  • 图标必须出现在 web / static / src / img / icons 中。
  • 如果你想在你的自定义模块中保留图标,那么你必须为你的模块文件夹创建相同的层次结构创建 / static / src / img / icons 并保留所有图标

xpath用于定义要添加/更新字段的位置。

详细了解xpath