Odoo邮件模板发送产品SKU配置及PDF模板提取技术问询
Odoo邮件模板修改及PDF模板提取解决方案
一、在邮件正文展示产品SKU的实现方法
你当前使用的是发票通知类模板,只需在现有代码基础上新增发票行项遍历逻辑,即可直接拉取产品SKU展示在正文,修改后的完整中文模板代码如下:
尊敬的 % if object.partner_id.parent_id: ${object.partner_id.name}(${object.partner_id.parent_id.name})% else: ${object.partner_id.name} % endif: 您好! 以下是您的账单信息: % if object.name: 账单编号:${object.name} % else: 账单 % endif % if object.invoice_origin: 关联单据:${object.invoice_origin} % endif 账单总金额:${format_amount(object.amount_total, object.currency_id)} 出具方:${object.company_id.name} % if object.payment_state == 'paid': 本账单已完成支付。 % else: 请您尽快安排支付。 % if object.payment_reference: 支付参考号:${object.payment_reference} % endif % endif --- ### 商品明细 | SKU编码 | 商品名称 | 数量 | 小计金额 | |---------|----------|------|----------| % for line in object.invoice_line_ids: | ${line.product_id.default_code if line.product_id else '无'} | ${line.name} | ${line.quantity} | ${format_amount(line.price_subtotal, object.currency_id)} | % endfor
上述代码新增的遍历逻辑会自动读取每个商品的SKU字段(对应Odoo产品模型的default_code字段),你可以根据实际需求调整表格的列项和样式。
二、PDF提取已有模板的可行性说明
不支持直接从PDF文件中提取可直接用于Odoo的QWeb模板代码,PDF是渲染完成的静态格式,没有保留Odoo模板所需的动态变量、条件判断、循环逻辑等结构化信息。
如果需要复刻现有PDF的排版样式,可手动对照PDF的布局、展示字段,调整邮件模板的QWeb/HTML代码实现;如果你需要的PDF模板本身就是Odoo系统生成的,可直接进入「设置-技术-用户界面-视图」,搜索对应PDF模板的ID(比如默认发票PDF模板ID为account.report_invoice),复用其中的字段、逻辑到邮件模板中。
内容的提问来源于stack exchange,提问作者Cristian Osia Algarin
相关产品推荐
相关产品推荐

