【问题标题】:Javascript Not loading in custom module Odoo 8Javascript未在自定义模块Odoo 8中加载
【发布时间】:2015-08-14 09:22:35
【问题描述】:

我正在尝试在我的模块中包含我的自定义 javascript,但 js 文件没有被加载。

下面是我的代码:

js:

openerp.hr_timesheet_extended = function (instance) {

    var QWeb = instance.web.qweb,
        _t  = instance.web._t,
        _lt = instance.web._lt;

    instance.hr_attendance.AttendanceSlider.include({
    // override methods
    });
};

xml:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <template id="assets_backend" name="hr_attendance assets" inherit_id="web.assets_backend">
            <xpath expr="." position="inside">
                <script type="text/javascript" src="/my_module/static/src/js/attendance.js"></script>
            </xpath>
        </template>
    </data>
</openerp>

我在这里做错了什么?

【问题讨论】:

  • 您是否将xml文件添加到__openerp__.py?尝试将模块名称写为 xml 文件名 (your_module_name.xml),并将模板名称替换为 name="your_module_name assets"。您的浏览器控制台中是否出现任何错误?编写重写方法的示例并尝试编写一些 console.log() 来检查文件是否被执行

标签: javascript xml odoo odoo-8


【解决方案1】:

每当您继承任何模板并将文件附加到该模板时,

<xpath expr="." position="inside">

您的文件将首先被附加,然后是其他现有文件,因此无论何时加载它都不会找到任何现有文件,这只发生在 web xml 继承中。

解决方案:

在所有基本文件之后添加您的文件。

<xpath expr="//script[@src='/pos_restaurant/static/src/js/notes.js']" position="after">

在 expr 中给出完整的路径而不是 "."仅限。

注意:

确保 js/css 源文件位于模块文件夹根目录下的层次结构“static/src/js/”或“static/src/css/”下。

【讨论】:

  • 但是我的完整路径应该从哪里开始呢?从当前xml文件的位置还是某个特定的位置?
  • 完整路径应该从插件文件夹路径开始,我的意思是“/”是插件文件夹路径,root = 你配置的插件路径,所以pos_restaurant是插件中的模块,同样你可以设置路径您的自定义模块。
  • 但是如果我的 src 位置在插件路径之外,我可以使用 ../ 返回吗?我已经尝试过,但仍然是 404... 因为我的自定义模块位于插件文件夹之外...
  • 比如我的js/css文件夹叫A,A文件夹和openerp文件夹在同一级,你能告诉我我的“expr”应该在这里吗?因为我可能不得不从我的插件路径返回,但我不知道如何 T_T
  • 它应该在模块内,并且模块应该在插件路径中。
猜你喜欢
  • 1970-01-01
  • 2019-02-10
  • 2023-03-19
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 2015-08-03
  • 2020-06-11
  • 1970-01-01
相关资源
最近更新 更多