>我创建了一个自定义模块来在网站中显示日历
我的 In JS 无法调用 require()。
我的代码
website_calendar_block.js
odoo.define('website_calendar_block', function(require) { "use strict";
var website = require('website.website');
alert(website);
});
website_calendar_templates.xml
<template id="website_calendar_assets_frontend" inherit_id="website.assets_frontend" name="Calendar block assets">
<xpath expr="/t" position="inside">
<script type="text/javascript" src="/website_calendar/static/src/js/website_calendar_block.js"></script>
</xpath> </template>
<div class="calendar"> <span class="fa fa-2x fa-calendar"/></div>
我的问题是加载网站页面时收到警报 警报(网站)中未定义;
任何人都可以帮我解决这个问题吗?
website.assets_fronted:
<template id="assets_frontend" inherit_id="web.assets_frontend" name="Website Frontend Assets">
<xpath expr="//link[last()]" position="after">
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.ui.less"/>
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.ui.components.less"/>
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.wrapwrap.less"/>
<link rel="stylesheet" type="text/less" href="/website/static/src/less/website.snippets.less"/>
<link rel="stylesheet" type="text/css" href="/website/static/src/less/website.zoomodoo.less"/>
</xpath>
<xpath expr="//script[last()]" position="after">
<script type="text/javascript" src="/website/static/src/js/website.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.share.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
<script type="text/javascript" src="/website/static/src/js/website.zoomodoo.js"></script>
</xpath>
</template>
你如何用你的 xpath 找到 t 元素?如果它没有抛出错误,它一定找到了其他东西,所以你的 Javascript 代码可能在加载网站资产之前就被调用了。
为什么不像website.assets_frontend那样使用<xpath expr="//script[last()]" position="after">
?