odoo-8
Aggiungi file CSS e Javascript al modulo Odoo
Ricerca…
Sintassi
- Nota sulla sintassi XML: dato che il record è fatto all'interno del file XML, non puoi lasciare nessun tag chiuso come potresti in un semplice HTML, come: <link rel = 'stylesheet' href = "..." > , Chiudi il tag di collegamento, invece, come:
- <link rel = 'stylesheet' href = "..." / >
Parametri
Possibili valori del parametro inherit_id | senso |
---|---|
web.assets_backend | Utilizzato solo in pagine interne, NON incluso in un sito Web pubblico. |
website.assets_frontend | Utilizzato solo in un sito Web pubblico (tramite il modulo " sito Web "). |
web.assets_common | Utilizzato in entrambi, sito Web pubblico e pagine interne. |
Osservazioni
Se non sei sicuro di quale opzione è adatta a te, prova la prima opzione (back-end) come viene usata nella maggior parte dei casi e quasi in tutti i casi se non hai installato il modulo "sito web". Odoo distingue tra asset "backend" e "frontend" perché il sito Web pubblico fornito dal modulo "sito web" utilizza diversi stili e codice JS rispetto alle pagine interne destinate a essere utilizzate per attività ERP, ad esempio "frontend" è associato al sito Web pubblico e "backend" è associato a pagine interne per ERP (il significato di "frontend" e "backend" è specifico per Odoo qui, ma sono entrambi "frontend" in senso più generale).
Puoi non solo scegliere e utilizzare una delle opzioni, ma anche utilizzare qualsiasi combinazione di esse (due o tutte) nello stesso modulo. Calcola un backend, un frontend e un codice JS / CSS comune in file separati per aderire meglio a DRY e disporre di un codice adatto nel sito Web pubblico e nelle pagine interne.
Non dimenticare di aggiungere "web" (quando si utilizza l' opzione 1 ) o "sito web" (quando si utilizza l' opzione 2 ) all'elenco delle dipendenze nel manifest __openerp__.py
.
Archivia correttamente i file CSS e JS nel modulo Odoo
I file CSS e JS devono trovarsi nella directory 'static' nella directory root del modulo (il resto dell'albero della sottodirectory sotto 'static' è una convenzione opzionale):
- static / src / css / your_file.css
- static / src / js / your_file.js
Quindi aggiungi i link a questi file eliminando uno dei 3 modi elencati nei seguenti esempi.
Opzione 1: [BACKEND] Aggiungi file CSS e Javascript da utilizzare nelle pagine interne
Odoo v8.0 modo è quello di aggiungere il record corrispondente nel file XML:
Aggiungi file XML al manifest (cioè file
__openerp__.py
):...
'data': ['tuo_file.xml'],
...Quindi aggiungi il seguente record 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>
Opzione 2: [FRONTEND] Aggiungi file CSS e Javascript da utilizzare in un sito Web pubblico
Nota: dovresti usare in questo modo se hai installato un modulo "sito web" e disponi di un sito web pubblico disponibile.
- Aggiungi il seguente record 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>
Opzione 3: [COMMON] Aggiungi file CSS e Javascript da utilizzare in tutte le pagine (backend e frontend)
- Aggiungi il seguente record 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>