【问题标题】:How to access OpenCart functions from outside the framework?如何从框架外部访问 OpenCart 功能?
【发布时间】:2016-06-11 16:28:12
【问题描述】:

我有一个位于 opencart_root/myfolder/myfile.php 的文件,我通过 opencart 结帐页面的 ajax 调用访问该文件。

如何使 OpenCart 方法(例如 cart->getProducts())、常量(例如 DB_HOSTNAME)和会话在 myfile.php 中可用?

OpenCart 版本是 2.2.0

【问题讨论】:

    标签: php oop opencart opencart2.x opencart-module


    【解决方案1】:

    您可以像使用其他库类一样进行操作。首先包括你的类(我假设你已经这样做了。然后在 $registry->set('cart', new Cart($registry)); 之后某处的 index.php 内的构造方法中将$registry 传递给它:

    $adapter = new Adapter($registry);
    

    现在您可以在构造函数中设置:

     $this->cart = $registry->get('cart');
    

    以及类内部方法:

    $products = $this->cart->getProducts();
    

    这应该通过 Opencart 2200 进行,我认为类实例化应该在 system/framework.php// Library Autoload 部分之后的某个地方完成。

    如果您不想使用构造函数,也可以将$this->registry 直接传递给类方法。

    【讨论】:

    • > 首先包含您的课程 - 抱歉,我有点不清楚您的意思是我应该在哪里包含它?
    • 您可以根据需要在适当的地方包含它。这实际上取决于您如何使用它 - 我假设您至少具有如何使用 includerequire 等包含 php 文件的基本知识
    • 我的 oop 很弱。我试过按照你的指示玩,但我绝对没有任何工作。如果你帮助我让它发挥作用,我愿意奖励你 100 次。这是我试图与我的 OpenCart 2.2.0 集成的库:github.com/ddelivery/clientsdk2/archive/master.zip。提前谢谢你。
    • @qwaz - 你是如何调用新类方法的?一些上下文会有所帮助。您能否就您尝试过的问题举一个例子?
    • @qwaz - 看起来我在聊天中想念你了。请随时通过zuma-design.com/contact直接与我联系
    猜你喜欢
    • 2015-04-21
    • 2018-06-17
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    相关资源
    最近更新 更多