5

設定/カスタマイズ/ユーザーインターフェイス/ビュー...から手動で行うのではなく、モジュールを開発してopenerpのデフォルトビューをオーバーライドする方法はありますか?

OpenERP を使用し、多くのデフォルト ビュー (プロジェクト リスト、請求書リスト、請求書検索など) をカスタマイズして、リストからフィールドを追加および非表示にし、フィルター/グループを検索します。Web クライアントからビューごとに手動で表示しています。カスタマイズしたいすべてのビューの xml を記述できるモジュールを開発する方法はありますか? そのモジュールをインストールすると、そのすべてのビュー (およびウィンドウ アクションも) が更新されますか?

4

3 に答える 3

6

ビューの継承を使用して、XML ファイルを使用する任意のビューをカスタマイズできます。

継承を使用すると、要素を任意のビューに追加、削除、および置換できます。継承の代わりにデフォルトを置き換える新しい完全なビューを定義することもできます。現在のビューをカスタマイズまたは置換する XML ファイルを使用して新しいモジュールを作成し、そのモジュールをロードするだけです。__init__.pyモジュール フォルダーには、、__openerp__.pyおよび XML ファイルのみを含める必要があります。

EAN13商品ビューからフィールドを削除する簡単な例を次に示します。


__init__.py空のファイル


__openerp__.py:

{
    "name" : "View Customization Test",
    "version" : "1.0",
    "category" : "Generic Modules/Inventory Control",
    'depends' : ['product',],
    "update_xml" : ["product.xml",],
    "installable": True,
    "active": True
}

product.xml:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
  <data>
    <record model="ir.ui.view" id="view_product_form_custom">
      <field name="name">product.form.inherit2</field>
      <field name="model">product.product</field>
      <field name="inherit_id" ref="product.product_normal_form_view" />
      <field name="arch" type="xml">
        <field name="ean13" position="replace" />
      </field>
    </record>
  </data>
</openerp>
于 2012-07-31T09:53:14.597 に答える
0

確かに可能です (そうすることをお勧めします)。まず、ビューとビューの継承の基礎を読んでください。

  • 次に、アドオンの下にフォルダーを作成するだけです
  • __init__.py[ python モジュール記述子]を追加します
  • __openerp__.py[ OpenERP モジュール記述子]を追加
  • xml ファイルを作成し、既存のビューの XML 識別子を使用して必要なビューを継承し、view.xml を に登録します__openerp__.py。そして、データベースを新しいモジュールで更新します。
于 2012-07-31T13:24:44.210 に答える
0

もちろんあります。カスタム モジュールを作成してインストールできます。公式ドキュメントの基本を参照してください。Technical Mementoも手元に置いておく必要があります。

これにより、開発環境での開発とテスト、およびその後の本番環境へのコピーとインストールが非常に簡単になります。

于 2012-07-31T09:47:16.333 に答える