odoo-8
Lägg till CSS- och Javascript-filer i Odoo-modulen
Sök…
Syntax
- Obs om XML-syntax: Eftersom posten görs inuti XML-filen, kan du inte lämna någon tagg ostängd som du kunde i en vanlig HTML, som: <link rel = 'stylesheet' href = "..." > , Stäng länktagg istället, som:
- <länk rel = 'stilark' href = "..." / >
parametrar
Möjliga värden på parametern inherit_id | menande |
---|---|
web.assets_backend | Används endast på interna sidor, INTE ingår på en offentlig webbplats. |
website.assets_frontend | Används endast på en offentlig webbplats (via " webbplats " -modul). |
web.assets_common | Används på både offentliga webbplatser och interna sidor. |
Anmärkningar
Om du inte är säker på vilket alternativ som passar dig, kan du prova det första alternativet (backend) eftersom det används i de flesta fall och nästan i alla fall om du inte har installerat modulen "webbplats". Odoo skiljer mellan tillgångarna "backend" och "frontend" eftersom den offentliga webbplatsen som tillhandahålls av "website" -modulen använder annan styling och JS-kod än interna sidor som är avsedda att användas för ERP-uppgifter, dvs "frontend" är associerad med den offentliga webbplatsen och "backend" är associerat med interna sidor för ERP (betydelsen av "frontend" och "backend" är Odoo-specifika här, men de är båda "frontend" i mer allmän mening).
Du kan inte bara välja och använda ett av alternativen utan också använda valfri kombination av dem (två av dem eller alla av dem) i samma modul. Faktorera en backend, en frontend och en gemensam JS / CSS-kod i separerade filer för att bättre följa DRY och ha lämplig kod på den offentliga webbplatsen och på de interna sidorna.
Glöm inte att lägga till "webb" (när du använder alternativ 1 ) eller "webbplats" (när du använder alternativ 2 ) till beroendelistan i __openerp__.py
manifestet.
Lagra CSS- och JS-filer korrekt i Odoo-modulen
CSS- och JS-filer bör ligga under 'statisk' katalog i rotkatalogen för modulen (resten av underkatalogträdet under 'statisk' är en valfri konvention):
- statisk / src / css / your_file.css
- statisk / src / js / your_file.js
Lägg sedan till länkar till dessa filer och kopplar bort ett av de tre sätten som listas i följande exempel.
Alternativ 1: [BACKEND] Lägg till CSS- och Javascript-filer som ska användas på interna sidor
Odoo v8.0 sätt är att lägga till motsvarande post i XML-filen:
Lägg till XML-fil i manifestet (dvs.
__openerp__.py
filen.):...
'data': ['your_file.xml'],
...Lägg sedan till följande post i
'your_file.xml'
:
<openerp> <data> <template id="assets_backend" name="your_module_name assets" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <link rel='stylesheet' href="/fr/your_module_name/static/src/css/your_file.css"/> <script type="text/javascript" src="/your_module_name/static/src/js/your_file.js"></script> </xpath> </template> .... .... </data> </openerp>
Alternativ 2: [FRONTEND] Lägg till CSS- och Javascript-filer som ska användas på en offentlig webbplats
Obs! Du bör använda detta sätt om du har installerat en "webbplats" -modul och du har en offentlig webbplats tillgänglig.
- Lägg till följande post i
'your_file.xml'
:
<openerp> <data> <template id="assets_frontend" name="your_module_name assets" inherit_id="website.assets_frontend"> <xpath expr="link[last()]" position="after"> <link rel='stylesheet' href="/fr/your_module_name/static/src/css/your_file.css"/> </xpath> <xpath expr="script[last()]" position="after"> <script type="text/javascript" src="/your_module_name/static/src/js/your_file.js"></script> </xpath> </template> </data> </openerp>
Alternativ 3: [COMMON] Lägg till CSS- och Javascript-filer som ska användas på alla sidor (backend & frontend)
- Lägg till följande post i
'your_file.xml'
:
<openerp> <data> <template id="assets_common" name="your_module_name assets" inherit_id="web.assets_common"> <xpath expr="." position="inside"> <link rel='stylesheet' href="/fr/your_module_name/static/src/css/your_file.css"/> <script type="text/javascript" src="/your_module_name/static/src/js/your_file.js"></script> </xpath> </template> </data> </openerp>