【问题标题】:How to override the _createStripeToken function in odoo 12如何覆盖 odoo 12 中的 _createStripeToken 函数
【发布时间】:2020-11-23 17:14:08
【问题描述】:

我正在寻找一种方法来覆盖 odoo 12 中 payment_stripe_sca 模块的 _createStripeToken 函数。

我正在这样做,但没有显示 console.log。如果我将此控制台日志添加到原始日志中,则会显示

    PaymentForm.include({

    /**
     * @override
     * @private
     * @param {Event} ev
     * @param {DOMElement} checkedRadio
     * @param {Boolean} addPmEvent
     */
    _createStripeToken: function (ev, $checkedRadio, addPmEvent) {
        console.log("Adfadsfasdfasdfas")
    }

})

【问题讨论】:

    标签: javascript odoo-12


    【解决方案1】:

    您需要patch支付表单类并将js文件添加到前端资产(web.assets_frontend)。

    • 覆盖_createStripeToken 函数:

      odoo.define('stack_overflow.payment_form', function (require) {
          "use strict";
      
          var PaymentForm = require('payment.payment_form');
      
          PaymentForm.include({
              _createStripeToken: function (ev, $checkedRadio, addPmEvent) {
                  var self = this;
                  console.log("Adfadsfasdfasdfas");
                  return this._super.apply(this, arguments);
              },
          });
      });
      
    • 将文件添加到前端资产:

      <template id="assets_frontend" inherit_id="web.assets_frontend" name="Payment Stripe SCA Assets">
          <xpath expr="." position="inside">
              <script type="text/javascript" src="/stack_overflow/static/src/js/payment_form.js"></script>
          </xpath>
      </template>
      

    查看assets management了解详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多