odoo-8
Añadir archivos CSS y Javascript al módulo Odoo
Buscar..
Sintaxis
- Nota sobre la sintaxis XML: como el registro se realiza dentro de un archivo XML, no puede dejar ninguna etiqueta sin cerrar como podría hacerlo en un HTML simple, como: <link rel = 'hoja de estilo' href = "..." > , Cierre el etiqueta de enlace en su lugar, como:
- <link rel = 'hoja de estilo' href = "..." / >
Parámetros
Valores posibles del parámetro inherit_id | sentido |
---|---|
web.assets_backend | Usado solo en páginas internas, NO incluido en un sitio web público. |
website.assets_frontend | Se utiliza solo en un sitio web público (a través del módulo " sitio web "). |
web.assets_common | Utilizado tanto en sitio web público como en páginas internas. |
Observaciones
Si no está seguro de qué opción es adecuada para usted, pruebe la primera opción (backend), ya que se utiliza en la mayoría de los casos y casi en todos los casos si no ha instalado el módulo "sitio web". Odoo distingue entre activos "backend" y "frontend" porque el sitio web público proporcionado por el módulo "website" utiliza un estilo y código JS diferente al de las páginas internas destinadas a tareas de ERP, es decir, "frontend" está asociado con el sitio web público y "backend" se asocia con páginas internas para ERP (el significado de "frontend" y "backend" son Odoo específicos aquí, pero ambos son "frontend" en sentido más general).
No solo puede elegir y usar una de las opciones, sino también usar cualquier combinación de ellas (dos de ellas o todas) en el mismo módulo. Factorice un backend, un frontend y un código JS / CSS común en archivos separados para adherirse mejor a DRY y tener el código adecuado en el sitio web público y en las páginas internas.
No olvide agregar "web" (cuando usa la opción 1 ) o "sitio web" (cuando usa la opción 2 ) a la lista de dependencias en el manifiesto __openerp__.py
.
Almacena archivos CSS y JS correctamente en el módulo Odoo.
Los archivos CSS y JS deben residir bajo el directorio 'estático' en el directorio raíz del módulo (el resto del árbol de subdirectorios bajo 'estático' es una convención opcional):
- static / src / css / your_file.css
- static / src / js / your_file.js
Luego, agregue enlaces a estos archivos sin ver una de las 3 formas enumeradas en los siguientes ejemplos.
Opción 1: [BACKEND] Agrega archivos CSS y Javascript para usar en páginas internas
La forma Odoo v8.0 es agregar el registro correspondiente en el archivo XML:
Agregue el archivo XML al manifiesto (es decir, el archivo
__openerp__.py
.):...
'datos': ['tu_archivo.xml'],
...Luego agregue el siguiente registro en
'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>
Opción 2: [FRONTEND] Agrega archivos CSS y Javascript para usar en un sitio web público
Nota: debe usar esta forma si ha instalado un módulo de "sitio web" y tiene un sitio web público disponible.
- Agregue el siguiente registro en
'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>
Opción 3: [COMÚN] Agregue archivos CSS y Javascript para usar en todas las páginas (backend y frontend)
- Agregue el siguiente registro en
'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>