2015-11-01 92 views
1

我需要修改收貨銷售Odoo點+ Posbox:如何修改收據

的點的銷售Odoo來看,有兩個模板打印收據: XmlReceipt和PosTicket

當我使用Posbox時,我想我必須修改XmlReceipt。 我不知道是否有一種方法來繼承原始模板? 我找到了有關如何使用PosTicket模板執行此操作的示例,但Xmlreceipt似乎不能以同樣的方式工作。

任何想法?

謝謝。

回答

0

據我所知,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> 
+0

謝謝您的回答。 [Qweb doc](https://doc.odoo.com/trunk/web/qweb/)解釋說,該指令必須使用基於「CSS選擇器進入父模板」的「t-jquery = selector」。但我認爲XmlReceipt doenst有一個CSS ... – Lolivier

0

好的,我發現了一個解決方案。 示例打印單元的價格與含稅,我寫了我這樣的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> 
2

我伸出模板「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>