[TIP] Cách đơn giản để tạo XML Xpath chính xác trong Odoo cùng PyCharm IDE

Khi cần điều chỉnh thuộc tính của 1 field trong view đã có sẵn, ta cần dùng xpath để chọn đối tượng cần chỉnh sửa.

Đối với form đơn giản, ví dụ:

<record id="some_view_id" model="ir.ui.view">
  <field name="name">demo.view.form</field>
  <field name="model">demo.model</field>
  <field name="arch" type="xml">
    <form>
          <sheet>
              <group>
                     <field name="user_id"/>
                     <field name="demo_field"/>
                </group>
          </sheet>
        </form>
</record>

và ở một module khác, bạn không muốn người dùng có thể tạo trực tiếp user mới từ field user_id của view trên, với xpath:

<record id="some_view_id_inherit" model="ir.ui.view">
  <field name="name">demo.view.form</field>
  <field name="model">demo.model</field>
  <field name="inherit_id" ref="demo_module.some_view_id"/>
  <field name="arch" type="xml">
    <xpath expr="//field[@name='user_id']">
        <attribute name="options">{"no_create": True}</attibute>
    </xpath>
  </field>
</record>

tuy nhiên, trong trường hợp field bạn cần sửa nằm trong 1 form phước tạp, có rất nhiều field cùng tên hiển thị tùy điều kiện (ví dụ field partner_id thuộc form view trong file: /odoo/addons/crm/views/crm_lead_views.xml chẳng hạn) bạn sẽ vất vả hơn nhiều.

PyCharm IDE có công cụ hỗ trợ bạn tạo xpath chính xác qua các bước sau:

Cài đặt plugin: "XpathView + XSLT"

restart IDE sau khi cài đặt

Tags:
#odoo #pycharm #xpath #xml