首页 > 解决方案 > 从 odoo 10 迁移到 odoo 12:在父视图中找不到元素

问题描述

我想将一个模块从 odoo 10 迁移到 odoo 12 但它显示了这个错误

L'élément '<xpath expr="//div[@t-if='(acquirers or tokens) and website_sale_order.amount_total']/div/ul/t/li[1]/label/span[@t-field='acquirer.image_small']">' ne peut être localisé dans la vue parente

Contexte de l'erreur :
Vue `payment_inherit`
[view_id: 1843, xml_id: n/a, model: n/a, parent_id: 1593]
None" while parsing None:7, near
<data inherit_id="website_sale.payment">
        <xpath expr="//div[@t-if='(acquirers or tokens) and website_sale_order.amount_total']" position="replace">
        </xpath>
        <xpath expr="//div[@t-if='(acquirers or tokens) and website_sale_order.amount_total']/div/ul/t/li[1]/label/span[@t-field='acquirer.image_small']" position="replace">
        </xpath>
    </data>

我检查了 website_sale.payment 并发现 t-field='acquirer.image_small' 在 odoo 12 中的视图付款中不再存在。来自插件:

<div id="payment_method" class="mt-3" t-if="(acquirers or tokens) and website_sale_order.amount_total">
                                <h3 class="mb24">Pay with </h3>
                                <t t-call="payment.payment_tokens_list">
                                    <t t-set="mode" t-value="'payment'"/>
                                    <t t-set="submit_txt">Pay Now</t>
                                    <t t-set="icon_right" t-value="1"/>
                                    <t t-set="icon_class" t-value="'fa-chevron-right'"/>
                                    <t t-set="submit_class" t-value="'btn btn-primary'"/>
                                    <t t-set="pms" t-value="tokens"/>
                                    <t t-set="form_action" t-value="'/shop/payment/token'"/>
                                    <t t-set="prepare_tx_url" t-value="'/shop/payment/transaction/'"/>
                                    <t t-set="partner_id" t-value="partner"/>

                                    <t t-set="back_button_icon_class" t-value="'fa-chevron-left'"/>
                                    <t t-set="back_button_txt" t-value="'Return to Cart'"/>
                                    <t t-set="back_button_class" t-value="'btn btn-secondary'"/>
                                    <t t-set="back_button_link" t-value="'/shop/cart'"/>
                                </t>
                            </div>

我怎么解决这个问题?我应该在我的视图中添加 t-field='acquirer.image_small 还是使用其他东西。

标签: odooodoo-10odoo-12

解决方案


我发现有点奇怪

<xpath expr="//div[@t-if='(acquirers or tokens) and website_sale_order.amount_total']" position="replace"></xpath>

(删除整个 DIV)和

<xpath expr="//div[@t-if='(acquirers or tokens) and website_sale_order.amount_total']/div/ul/t/li[1]/label/span[@t-field='acquirer.image_small']" position="replace"></xpath>

(删除 DIV 内的获取者图像)存在旁边,因为第一个应该删除包含后者的 DIV。你确定你不只删除“支付方式”部分吗?

尝试评论最后一个 xpath 部分并验证结果是否符合您的预期。您还可以评论 xpath 并查看是否符合预期。


推荐阅读