如何在Odoo中扩展qweb模板?

时间:2017-09-23 02:10:25

标签: openerp odoo-9 qwebview qweb

我试图扩展销售点,模板来修改网络票证和印刷版本....我想要一个id为numbe的代码栏。但阅读和测试我的代码并不起作用....为了测试purpuse我在模板的几个部分放了一个文本来观察它是否被修改......但它不是。

<?xml version="1.0" encoding="UTF-8"?> 
<templates xml:space="preserve">
            <t t-extend="XmlReceipt">
                 <t t-jquery=".receipt-change" t-operation="inner">
                    <div><span>hello world</span></div>
                 </t>
            </t>
            <t t-extend="PosTicket">
                <t t-jquery=".receipt-orderlines .product_line" t-operation="inner">
                    <div><span>hello world</span></div>
                </t>
            </t>
            <t t-extend="PaymentScreenWidget">
                <t t-jquery="div.pos-payment-container" t-operation="inner">
                    <div>
                       Payment Screen Modified
                    </div>
                </t>
            </t>
 </templates>

此代码位于文件名pos.xml中,我将其添加到 openerp .py中,如下所示:

'qweb': ['static/src/xml/pos.xml'],

为什么XmlReceipt或PosTicket或付款模板没有扩展???? 然后当我成功扩展模板时,我会尝试用

替换你好的世界
<barcode encoding="CODE128"><t t-esc="o.id"/></barcode>

谢谢!

[编辑] 好的,现在我正在扩展模板,但是我无法从order.sequence_number生成条形码

我试着这样:

<img class="img-responsive" t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s' % ('Code128', order.sequence_number, 500, 100)" style="width:250px;height:50px;"/>

条形码不会像这样生成......但如果我这样做就是

<img t-att-src="'/report/barcode/Code128/*mycode*'" style="width:250px;height:50px;"/>

所以我认为错误在字符串渲染中.....

1 个答案:

答案 0 :(得分:0)

这是我在odoo-10中扩展邮件聊天的方式,它对我来说很好。 看看,如果仍然需要可能是它的帮助。

<templates>

    <!--
        Chatter composer
    -->
    <t t-extend="mail.chatter.ChatComposer">
        <!-- Insert information before the composer -->
        <t t-jquery=".o_composer_suggested_partners" t-operation="replace">
            <!-- List of followers -->
            <div class="o_composer_suggested_partners">
                <t t-foreach='widget.suggested_partners' t-as='recipient'>
                    <div t-attf-title="Add as recipient and follower (reason: #{recipient.reason})">
                        <input type="checkbox" t-att-data-fullname="recipient.full_name"/>
                        <t t-esc="recipient.name"/>
                        <t t-if="recipient.email_address">(<t t-esc="recipient.email_address"/>)</t>
                    </div>
                </t>
            </div>
        </t>
    </t>
</templates>