Odoo v8 使用 Qweb,我们需要在发票的最后一页打印销售条款和条件。
据我了解,我们需要测试它是否是报告的最后一页,并在此页面上打印一些静态 HTML。
有谁知道如何测试最后一页并从中删除页眉和页脚以实现我正在尝试的内容。
或者甚至是另一种方式。
在 odoo 的最新版本,版本 8(或 saas-6)中,为了使特殊的类名能够做特殊的事情(例如“最后一页”类名来触发可见性),您应该只修改report
模块、instatic/src/js/subst.js
和将此代码添加到subst
函数中:
var operations = {
'last-page': function (elt) { elt.style.visibility = (vars.page === vars.topage) ? "visible" : "hidden"; },
};
for (var klass in operations) {
var y = document.getElementsByClassName(klass);
for (var j=0; j<y.length; ++j) operations[klass](y[j]);
}
在您的报告使用的 QWEBir.ui.views
中,您可以在任何位置(页眉、正文、页脚)添加代码:
<div class="last-page">
My content only displayed if on last page.
<div>
编辑:一个 OpenERP/Odoo 插件可以last-page
轻松添加这个魔术类,作为示例实现:https ://github.com/0k/report_extended