odoo-8
Ajouter des fichiers CSS et Javascript au module Odoo
Recherche…
Syntaxe
- Note à propos de la syntaxe XML: Comme l’enregistrement est réalisé à l’intérieur d’un fichier XML, vous ne pouvez pas laisser de tag non fermé comme vous le feriez dans un HTML simple, comme: <link rel = 'stylesheet' href = "..." > , fermez le balise de lien à la place, comme:
- <link rel = 'stylesheet' href = "..." / >
Paramètres
Valeurs possibles du paramètre inherit_id | sens |
---|---|
web.assets_backend | Utilisé dans les pages internes uniquement, NON inclus dans un site Web public. |
website.assets_frontend | Utilisé sur un site Web public uniquement (via le module " website "). |
Web.assets_common | Utilisé à la fois sur le site Web public et les pages internes. |
Remarques
Si vous n'êtes pas sûr de l'option qui vous convient, essayez la première option (backend) car elle est utilisée dans la plupart des cas et presque dans tous les cas si vous n'avez pas installé le module "website". Odoo différencie les ressources "backend" et "frontend" car le site Web public fourni par le module "website" utilise un style et un code JS différents de ceux des pages internes destinées aux tâches ERP. "backend" est associé à des pages internes pour ERP (le sens de "frontend" et "backend" sont spécifiques à Odoo ici, mais ils sont tous deux "frontend" au sens plus général).
Vous pouvez non seulement choisir et utiliser l'une des options, mais également utiliser une combinaison de ces options (deux d'entre elles ou toutes) dans le même module. Facturer un backend, un frontend et un code JS / CSS commun dans des fichiers séparés pour mieux adhérer à DRY et disposer du code approprié sur le site Web public et dans les pages internes.
N'oubliez pas d'ajouter "web" (lorsque vous utilisez l' option 1 ) ou "website" (lorsque vous utilisez l' option 2 ) à la liste des dépendances dans le manifeste __openerp__.py
.
Stocker les fichiers CSS et JS correctement dans le module Odoo
Les fichiers CSS et JS doivent se trouver sous le répertoire 'static' dans le répertoire racine du module (le reste de l'arborescence des sous-répertoires sous 'static' est une convention facultative):
- static / src / css / votre_fichier.css
- static / src / js / votre_fichier.js
Ajoutez ensuite des liens vers ces fichiers en supprimant l'une des trois méthodes répertoriées dans les exemples suivants.
Option 1: [BACKEND] Ajoutez des fichiers CSS et Javascript à utiliser dans les pages internes
La méthode Odoo v8.0 consiste à ajouter l'enregistrement correspondant dans le fichier XML:
Ajoutez le fichier XML au manifeste (c.-à-
__openerp__.py
. Le fichier__openerp__.py
.):...
'data': ['your_file.xml'],
...Ajoutez ensuite l'enregistrement suivant dans
'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>
Option 2: [FRONTEND] Ajoutez des fichiers CSS et Javascript à utiliser sur un site Web public
Remarque: vous devez utiliser cette méthode si vous avez installé un module "site Web" et que vous avez un site Web public disponible.
- Ajoutez l'enregistrement suivant dans
'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>
Option 3: [COMMON] Ajoutez des fichiers CSS et Javascript à utiliser dans toutes les pages (backend & frontend)
- Ajoutez l'enregistrement suivant dans
'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>