我需要修改收貨銷售Odoo點+ Posbox:如何修改收據
的點的銷售Odoo來看,有兩個模板打印收據: XmlReceipt和PosTicket
當我使用Posbox時,我想我必須修改XmlReceipt。 我不知道是否有一種方法來繼承原始模板? 我找到了有關如何使用PosTicket模板執行此操作的示例,但Xmlreceipt似乎不能以同樣的方式工作。
任何想法?
謝謝。
我需要修改收貨銷售Odoo點+ Posbox:如何修改收據
的點的銷售Odoo來看,有兩個模板打印收據: XmlReceipt和PosTicket
當我使用Posbox時,我想我必須修改XmlReceipt。 我不知道是否有一種方法來繼承原始模板? 我找到了有關如何使用PosTicket模板執行此操作的示例,但Xmlreceipt似乎不能以同樣的方式工作。
任何想法?
謝謝。
據我所知,XmlReceipt和PosTicket模板都在pos.xml中定義,所以你可以用同樣的方式繼承它們。繼承XmlReceipt的 示例:
<?xml version="1.0" encoding="UTF-8"?>
<templates id="myReceiptTemplate" xml:space="preserve">
<t t-extend="XmlReceipt">
"your code here"
</t>
</templates>
好的,我發現了一個解決方案。 示例打印單元的價格與含稅,我寫了我這樣的XML:
<?xml version="1.0" encoding="UTF-8"?>
<templates id="myReceiptTemplate" xml:space="preserve">
<t t-extend="XmlReceipt">
<t t-jquery="t[t-esc='line.price']" t-operation="replace">
<t t-esc='line.price_with_tax/line.quantity ' />
</t>
</t>
</templates>
我伸出模板「PosTicket」,由T-的jQuery找到元素,我的數據替換(添加「免費」產品的名)
<templates id="template" >
<t t-extend="PosTicket">
<t t-jquery=".receipt-orderlines .product_line" t-operation="inner">
<t t-if="orderline.get_reward() and orderline.get_reward().type == 'gift'">Free </t>
<t t-esc="orderline.get_product().display_name"/>
</t>
</t>
謝謝您的回答。 [Qweb doc](https://doc.odoo.com/trunk/web/qweb/)解釋說,該指令必須使用基於「CSS選擇器進入父模板」的「t-jquery = selector」。但我認爲XmlReceipt doenst有一個CSS ... – Lolivier