Javascript 从odoo'中移除下载按钮;s pdf_查看器小部件
我正在尝试禁用位于Odoo(Pdf_viewer)附件预览小部件中的下载按钮,您可以在下面的代码中看到:Javascript 从odoo'中移除下载按钮;s pdf_查看器小部件,javascript,python,widget,odoo,pdf-viewer,Javascript,Python,Widget,Odoo,Pdf Viewer,我正在尝试禁用位于Odoo(Pdf_viewer)附件预览小部件中的下载按钮,您可以在下面的代码中看到: <field name="preview" attrs="{'readonly': [('preview', '=', True)]}" widget="pdf_viewer" /> PS:我试图将字段设置为只读,但仍然为阅读器提供了整个文件 我从一个朋友那里得到了一点帮助,他建议我修改包含这个按钮模板的JS文
<field name="preview" attrs="{'readonly': [('preview', '=', True)]}" widget="pdf_viewer" />
PS:我试图将字段设置为只读,但仍然为阅读器提供了整个文件
我从一个朋友那里得到了一点帮助,他建议我修改包含这个按钮模板的JS文件,但我不知道该怎么做!
感谢您的帮助。您可以覆盖该功能并隐藏下载按钮
示例:
如果需要使用上下文属性控制下载按钮的可见性,请尝试以下代码:
var basic_fields = require('web.basic_fields');
var Context = require('web.Context');
basic_fields.FieldPdfViewer.include({
_disableButtons: function (iframe) {
var self = this;
if (self.attrs.context) {
var context = new Context(self.attrs.context).eval();
if(!context.download) {
$(iframe).contents().find('button#download').hide();
// $(iframe).contents().find('button#secondaryDownload').hide();
}
}
this._super(iframe);
},
});
编辑:
创建一个包含以下内容的XML文件,并将其添加到清单文件中的data
条目中:
在static/src/js
下创建pdf_viewser.js
,并添加上述代码:
odoo.define('module_name.PDFViewer',函数(require){
“严格使用”;
var basic_fields=require('web.basic_fields');
基本字段.FieldPdfViewer.include({
_禁用按钮:功能(iframe){
$(iframe).contents().find('button#download').hide();
//$(iframe).contents().find('button#secondary download').hide();
这个._super(iframe);
},
});
});
该部分列出了这些步骤。有关更多详细信息,请查看文档。非常感谢@kenly,我只是将该行添加到现有的_disableButtons函数中,如下所示:_disableButtons:
function(iframe){$(iframe).contents().find('button#openFile').hide();$(iframe).contents().find('button#download').hide()},
而且它是有效的问题是,如果我想使用overide方法,我应该将您的代码放在var FieldPdfViewer=FieldBinaryFile.e..
下还是放在cote之外?您想在不编辑原始文件的情况下应用您的修改吗?是的,如此链接所示:检查我的编辑。我还添加了一个到官方文档的链接。
var basic_fields = require('web.basic_fields');
var Context = require('web.Context');
basic_fields.FieldPdfViewer.include({
_disableButtons: function (iframe) {
var self = this;
if (self.attrs.context) {
var context = new Context(self.attrs.context).eval();
if(!context.download) {
$(iframe).contents().find('button#download').hide();
// $(iframe).contents().find('button#secondaryDownload').hide();
}
}
this._super(iframe);
},
});