odoo-8
Добавить файлы CSS и Javascript в модуль Odoo
Поиск…
Синтаксис
- Обратите внимание на синтаксис XML: поскольку запись сделана внутри XML-файла, вы не можете оставить какой-либо тег, который был закрыт, как вы могли, в простом HTML, например: <link rel = 'stylesheet' href = "..." > , Закрыть вместо этого используйте тег link:
- <link rel = 'stylesheet' href = "..." / >
параметры
Возможные значения параметра inherit_id | имея в виду |
---|---|
web.assets_backend | Используется только на внутренних страницах, НЕ включается в общедоступный веб-сайт. |
website.assets_frontend | Используется только на общедоступном веб-сайте (через модуль « веб-сайт »). |
web.assets_common | Используется как на общедоступном веб-сайте, так и на внутренних страницах. |
замечания
Если вы не уверены в том, какой вариант подходит для вас, попробуйте первый вариант (бэкэнд), поскольку он используется в большинстве случаев и почти во всех случаях, если вы не установили модуль «веб-сайт». Odoo различает активы «backend» и «frontend», потому что публичный веб-сайт, предоставленный модулем «веб-сайт», использует разные стили и JS-код, чем внутренние страницы, предназначенные для использования в ERP-задачах, то есть «frontend» связан с общедоступным веб-сайтом и «backend» связан с внутренними страницами для ERP (значение «frontend» и «backend» здесь Odoo специфично, но они являются «интерфейсом» в более общем смысле).
Вы можете не только выбирать и использовать один из вариантов, но и использовать любую комбинацию из них (две или все из них) в том же модуле. Фактор backend, интерфейс и общий код JS / CSS в разделенные файлы, чтобы лучше придерживаться DRY и иметь подходящий код на общедоступном веб-сайте и на внутренних страницах.
Не забудьте добавить «web» (при использовании опции 1 ) или «веб-сайт» (при использовании варианта 2 ) в список зависимостей в манифесте __openerp__.py
.
Храните файлы CSS и JS правильно в модуле Odoo
Файлы CSS и JS должны находиться в каталоге «static» в корневом каталоге модуля (остальное дерево подкаталогов под «static» является необязательным соглашением):
- static / src / css / your_file.css
- static / src / js / your_file.js
Затем добавьте ссылки на эти файлы, не указывая один из трех способов, перечисленных в следующих примерах.
Вариант 1: [BACKEND] Добавить файлы CSS и Javascript для использования на внутренних страницах
Способ Odoo v8.0 - добавить соответствующую запись в файл XML:
Добавьте файл XML в манифест (т.
__openerp__.py
Файл__openerp__.py
.):...
'data': ['your_file.xml'],
...Затем добавьте следующую запись в
'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>
Вариант 2: [FRONTEND] Добавить файлы CSS и Javascript для использования на общедоступном веб-сайте
Примечание: вы должны использовать этот путь, если вы установили модуль «веб-сайт», и у вас есть общедоступный веб-сайт.
- Добавьте следующую запись в
'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>
Вариант 3: [COMMON] Добавить файлы CSS и Javascript для использования на всех страницах (backend & frontend)
- Добавьте следующую запись в
'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>