odoo - 从 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 还是使用其他东西。
解决方案
我发现有点奇怪
<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 并查看是否符合预期。
推荐阅读
- java - java.lang.IllegalArgumentException:不支持的类文件主要版本 55 - 从 Jenkins 服务器运行 Gradle 构建时
- android - 如何在通知点击时转到特定活动?
- flutter - Rxdart CombineLatest 与可选字段相结合
- python - 如何在python 3中计算拉普拉斯函数
- python - 缺少值时如何旋转和重命名连接的级别列?
- postgresql - 在 Postgresql 中,相同的词对相同的查询给出真假
- asp.net-mvc - 限制(阻止)用户在 ASP.Net MVC 中使用相同的凭据多次登录
- django - 如何预先填写数据库中已经存在的表单字段中的值并交付部分表单或获取剩余的输入
- c# - 在使用 HtmlSanitizer C# 进行消毒时允许模型中的与号 (&)
- swift - 快速语言中的 ctrl