一、建立資料夾,檔案
- 想要自行建立一個模組裡面必須要有下列幾個必要元素
- 先在addons目錄下新增一個python package 檔名為test
- 在test下新增以下檔案
- test (python package)
- __init__.py (python file 會自行產生 )
- __openerp__.py (python file"__"為雙底線)
- models ( ython package)
- __init__.py(python file 會自行產生)
- views (Directory 檔案夾)
- test_student_view.xml (file)
- models ( ython package)
- 完成後
二、import 資料夾和檔案
-
__openerp__.py
- 可以參考上節所建立的openacademy內的openerp建立,主要是宣告模組名稱,版本,作者.......
{
'name': "test1",
'version': '1.0',
'depends': [],
'author': "supojen(kulius@msn.com)",
'category': '',
'description': """
""",
'data': ["views/test1_student_view.xml"],
'demo': [],
}
-
__init__.py
- import有使用到的models,和python檔
# -*- coding: utf-8 -*-
import models
from . import test_student
三、資料關聯建立
- models內的檔案是負責關聯資料表
- 建立一個"name"的欄位
from openerp import models, fields, api
class TestStudent(models.Model):
_name="test.student"
name=fields.Char()
四、畫面設定
- odoo畫面相關的code會放在剛剛建立views資料夾裡的XML檔,此XML檔需在openerp內的DATA進行宣告
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="test_student_view_form" model="ir.ui.view">
<field name="name">test.student.view.form</field>
<field name="model">test.student</field>
<field name="arch" type="xml">
<form string="">
<sheet>
<group>
<field name="name"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="test_student_view_tree" model="ir.ui.view">
<field name="name">test.student.view.tree</field>
<field name="model">test.student</field>
<field name="arch" type="xml">
<tree string="">
<field name="name"/>
</tree>
</field>
</record>
<record id="test_student_action" model="ir.actions.act_window">
<field name="name">test student</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">test.student</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
<!-- Add Text Here -->
</p><p>
<!-- More details about what a user can do with this object will be OK -->
</p>
</field>
</record>
<menuitem id="test_menu_root" name="test" sequence="1"/>
<menuitem id="test_select_menu_category" name="select" parent="test_menu_root" sequence="1"/>
<menuitem id="test_course_menu_action_list" name="set student" parent="test_select_menu_category" action="test_student_action" sequence=""/>
</data>
</openerp>
四、簡易模組完成