如何在odoo中的电子邮件模板中添加其他模型的字段?

时间:2016-11-23 21:09:33

标签: xml templates openerp odoo-8 email-templates

我在odoo中创建了一个电子邮件模板。它的模型是sale.order,我使用${object.name}从这个模型调用字段。现在我想在此模板中添加来自其他表stock.picking的更多字段,但我不知道如何从电子邮件模板中的其他表调用字段。

我在模板文件中使用了循环但没有成功。

TEMPLATE.XML

<record id="order_alert_warehouse_email_template" model="email.template">
    <field name="name">TOV- Alert When Order Ship Out</field>
    <field name="email_from">processing@tovfurniture.com</field>
    <field name="subject">Tov Furniture Notification Mail ${object.name}- Order Shipped</field>
    <field name="email_to">leftwarehouse@tovfurniture.com</field>
    <field name="model_id" ref="sale.model_sale_order"/>
    <field name="auto_delete" eval="True"/>
    <!--<field name="report_template" ref="sale.report_sale_order"/>
    <field name="report_name">
        ${(object.name or '').replace('/','_')}_${object.state == 'draft' and 'draft' or ''}
    </field>-->
    <field name="lang">${object.partner_id.lang}</field>
    <field name="user_signature" eval="False"/>
    <field name="body_html"><![CDATA[
    <p>${object.name} is shipped!</p>

    <p>Reference number is ${object.client_order_ref}</p>

    <p>Scheduled date is ${object.expected_date}</p>

    <p>Tracking number is
    % for stock in object.stock_ids:
          ${stock.carrier_tracking_ref}
    % endfor
    </p>

    <p>All the Best,</p>

    <p>Your friends at TOV</p>

    ]]></field>
</record>

此处跟踪号码字段carrier_tracking_ref来自另一个 stock.picking 的表格。

1 个答案:

答案 0 :(得分:4)

这是我的答案,我自己解决了,它只是针对循环问题,通过使用for循环我从其他对象调用字段。现在它的工作,让我分享我在电子邮件模板中添加的for循环代码。

&#13;
&#13;
<p>Tracking number is
     % for pickings in object.picking_ids:
          ${pickings.carrier_tracking_ref}
     % endfor
</p>
&#13;
&#13;
&#13;