odoo 8,将javascript文件添加到前端网站

时间:2016-01-16 14:28:13

标签: javascript web odoo-8

我已按照此帖中的说明进行操作

https://www.odoo.com/es_ES/forum/help-1/question/how-to-add-css-and-js-javascript-files-in-openerp-7-odoo-8-module-76719

将javascript文件添加到前端(从website.assets_frontend继承模板)

当我使用有权更改qweb的用户登录时,会下载js,但是当我没有该权限的用户或匿名用户登录时,不会下载该脚本。

我需要匿名用户的这个js脚本。怎么了?我该怎么办?

<template id="assets_frontend" inherit_id="website.assets_frontend" name="menora_website assets"> 
  <xpath expr="/t" position="inside"> 
    <script type="text/javascript" src="/website_my_module/static/src/js/my_assets.js"></script> 
  </xpath> 
</template> 

此代码适用于管理员用户,但不适用于匿名用户

//my_assets.js 
$(document).ready(function () { 
  "use strict"; 
  var website = openerp.website; var _t = openerp._t; 
  $('#birdthdate').datepicker(); 
});

2 个答案:

答案 0 :(得分:0)

我的猜测就是这一行

<xpath expr="/t" position="inside"> 

expr="/t"更改为expr=".",如参考文献

所示

答案 1 :(得分:0)

查看我的代码和结果,我发现模板片段工作正常。 JS文件已下载或插入minized assets_frontend ok。

我的js代码无效,因为它是在JQuery定义之前插入的。这就是Global $变量尚未定义的原因。该位置应该是&#34;&#34;&#34;继承模板时的最后一个<script>标记。

我没有尝试我的上一个建议,我所做的是在我为自定义网站用户界面创建的模板末尾插入<script>标记。此时,所有js文件都以全局$变量的定义方式加载。