【问题标题】:opencart 2.3 install() method not workingopencart 2.3 install() 方法不起作用
【发布时间】:2016-12-18 12:17:29
【问题描述】:

我有一个在 opencart 2.0 上运行良好的支付插件,我尝试在 opencart 2.3 上安装它,一切正常,但有一段代码是用 install() 方法编写的......但它在 opencart 2.3 上不起作用。

我试图转储它,但没有任何反应,似乎 opencart2.3 根本没有调用我的 install() 方法。

附加信息: 插件名称是 Payfort,它在 github https://github.com/payfort/opencart2.0-payfort 该插件适用于 2.0 和 2.3 两个版本

【问题讨论】:

  • 至少告诉我们插件的名称
  • Payfort,它也在 github 上 link
  • 它适用于 2.0 和 2.3 两个版本。

标签: php opencart2.3


【解决方案1】:

Opencart 2.3 文件夹结构与 2.0 不同,例如您的付款文件夹在 2.3 中是目录/控制器/扩展/付款,而在 2.0 中是目录/控制器/付款。在以后的版本中添加了“扩展名”。 $this->load->language('extension/payment/????') 也会随着文件夹结构的改变而不同。所以它很可能没有调用正确的公共函数。 联系插件作者更改/更新插件。如果是,则付款被定向到支付网关,例如 paypal 或 payfast。 如果您自己编写了插件。您可以使用 PP_Standard 模块来复制和重写自定义插件。 https://forum.opencart.com/viewtopic.php?f=136&t=30653

希望这会有所帮助。

【讨论】:

  • 我了解 opencart 2.3 结构并已为我的插件解决了这个问题。我的插件是针对 Payfort 支付网关的新插件,我认为 2.3 版本有一个错误,当用户安装插件时,有一个名为 install() 的方法,安装完成后我可以做一些事情,这部分是不适合我。
  • 除了 Opencart 2.3 中的所有支付插件之外,根本没有使用 install() 方法。
【解决方案2】:

在 OpenCart 2.3.0.2 中,安装支付扩展时会调用 ControllerExtensionExtensionPayment 类的 install 方法(位于:admin/controller/extension/extension/payment.php)。

在这个方法中调用了支付控制器的安装方法:

// Call install method if it exsits
$this->load->controller('extension/payment/' . $this->request->get['extension'] . '/install');

【讨论】:

    猜你喜欢
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 2017-01-31
    • 2017-11-12
    相关资源
    最近更新 更多