odoo-8
CSS- en Javascript-bestanden toevoegen aan Odoo-module
Zoeken…
Syntaxis
- Opmerking over XML-syntaxis: aangezien het record in een XML-bestand is gemaakt, kunt u geen enkele tag niet afsluiten zoals u zou kunnen in een gewone HTML, zoals: <link rel = 'stylesheet' href = "..." > , Sluit de link tag in plaats daarvan, zoals:
- <link rel = 'stylesheet' href = "..." / >
parameters
Mogelijke waarden van de parameter inherit_id | betekenis |
---|---|
web.assets_backend | Alleen gebruikt op interne pagina's, NIET opgenomen op een openbare website. |
website.assets_frontend | Alleen gebruikt in een openbare website (via de " website " -module). |
web.assets_common | Gebruikt in beide, openbare website en interne pagina's. |
Opmerkingen
Als u niet zeker weet welke optie voor u geschikt is, probeer dan de eerste optie (backend) omdat deze in de meeste gevallen wordt gebruikt en bijna in alle gevallen als u de "website" -module niet hebt geïnstalleerd. Odoo maakt onderscheid tussen "backend" en "frontend" activa omdat de openbare website die wordt aangeboden door de "website" -module een andere stijl en JS-code gebruikt dan interne pagina's bedoeld om te worden gebruikt voor ERP-taken, dwz "frontend" is gekoppeld aan de openbare website en "backend" wordt geassocieerd met interne pagina's voor ERP (betekenis van "frontend" en "backend" zijn hier Odoo specifiek, maar ze zijn beide "frontend" in meer algemene zin).
U kunt niet alleen een van de opties kiezen en gebruiken, maar ook elke combinatie (twee of alle) in dezelfde module gebruiken. Factor een back-end, een front-end en een gemeenschappelijke JS / CSS-code in afzonderlijke bestanden om DRY beter te kunnen volgen en geschikte code op de openbare website en op de interne pagina's te hebben.
Vergeet niet om "web" (bij gebruik van optie 1 ) of "website" (bij gebruik van optie 2 ) toe te voegen aan de lijst met afhankelijkheden in het manifest __openerp__.py
.
Sla CSS- en JS-bestanden correct op in Odoo-module
CSS- en JS-bestanden moeten zich bevinden in de 'statische' map in de hoofdmap van de module (de rest van de submapstructuur onder 'statische' is een optionele conventie):
- static / src / css / your_file.css
- static / src / js / your_file.js
Voeg vervolgens koppelingen naar deze bestanden toe op een van de 3 manieren die in de volgende voorbeelden worden vermeld.
Optie 1: [BACKEND] CSS- en Javascript-bestanden toevoegen voor gebruik op interne pagina's
De Odoo v8.0-manier is om het bijbehorende record toe te voegen aan het XML-bestand:
Voeg XML-bestand toe aan het manifest (bijv.
__openerp__.py
.__openerp__.py
bestand.):...
'data': ['your_file.xml'],
...Voeg vervolgens het volgende record toe in
'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>
Optie 2: [FRONTEND] CSS- en Javascript-bestanden toevoegen voor gebruik op een openbare website
Opmerking: u moet deze manier gebruiken als u een "website" -module hebt geïnstalleerd en u een openbare website beschikbaar hebt.
- Voeg het volgende record toe in
'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>
Optie 3: [COMMON] CSS- en Javascript-bestanden toevoegen om op alle pagina's te gebruiken (backend & frontend)
- Voeg het volgende record toe in
'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>