...
Dies ist eine ganze Zahl(integer) die verwendet wird um die Reihenfolge der Menüeinträge festzustellen. Je höher die Zahl umso weiter unten ist der Eintrag zu finden. Wird das Feld nicht bestimmt so wird ihm automatisch die 10 zugewiesen.
Actions
Actions definieren vom user ausgelöstes Verhalten.
Codeblock | ||||
---|---|---|---|---|
| ||||
<record model="ir.actions.act_window" id="test_action"> <field name="name>Testname">Test Action</field> <field name="res_model">das .model</field> <field name="view_mode">graph</field> <field name="view_id" ref="spezifischer_view"/> <field name="domain">[Filter]</field> </record> |
...
Schränkt die Ergebnismenge ein. Nur spezifische Einträge werden angezeigt.
Menuitem und action sind untrennbar miteinander verbunden, zwar kann das action Feld in menuitem leer gelassen werden jedoch hat dieses dann auch kein Verhalten.
Views
Views repräsentieren Datenbankobjekte auf der Oberfläche. Views werden mit XML definiert. Odoo generiert dann daraus die Ansicht im Browser.
Es gibt verschiedene Arten von views.
list
form
search
kanban
gantt
diagram
calendar
Es wird jedoch nur auf list und form eingegangen werden.
Aufbau eines views
Codeblock | ||||
---|---|---|---|---|
| ||||
<record model="ir.ui.view" id="view_id">
<field name="name">view.name</field>
<field name="model">object_name</field>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<!-- view content: <form>, <tree>, <graph>, ... -->
</field>
</record> |
Jeder view muss in der Tabelle ir.ui.view registriert werden um von odoo angezeigt zu werden. Wie üblich muss ein einzigartiger Name vergeben werden. Unter model gibt man die Quelle der Daten an(Tabelle). Views können per id oder per (model, typ) angefragt werden, für letzteres entscheidet priority welcher view verwendet wird(die kleinste Zahl hat höchste Priorität). Von arch wird das layout zwischen seinen Anfangs- und Endtags definiert.
Um den Kontext zu wahren sollte dies alles in der selben Datei stehen.
Codeblock | ||||
---|---|---|---|---|
| ||||
<odoo>
<data>
<record model="ir.ui.view" id="view_id">
<field name="name">view.name</field>
<field name="model">object_name</field>
<field name="priority" eval="16"/>
<field name="arch" type="xml">
<tree string="Beliebiger Text">
<field name="name"/>
</tree>
</field
</record>
<record model="ir.actions.act_window id="test_action">
<field name="name">Test Action</field>
<field name="res_model">das.model</field>
<field name="view_mode">graph</field>
</record>
<menuitem id="test_action_menuitem" name="Test Action" action="test_action"/>
</data>
</odoo> |
Hier kann man auf ein Blick sehen wie das menuitem auf die action referenziert. Der tree view zeigt nur das name Feld an, würde man diesen record entfernen so würde odoo alle Felder unformatiert und mit ihrem string Attribut als label anzeigen.
Info |
---|
...