gpt4 book ai didi

php - OpenCart 在 Controller 外加载模型

转载 作者:可可西里 更新时间:2023-10-31 22:08:35 24 4
gpt4 key购买 nike

我正在做一个 OpenCart 项目,它需要大量的定制。对于我的项目,我必须更改购物车库 (system/library/cart.php) 中的某些内容。

我必须调用在产品模型 (catalog/model/catalog/product.php) 中定义的自定义函数。

在 Controller 中,加载模型并使用其函数很容易:

    $this->load->model("catalog/product");
$this->model_catalog_product->customFunction();

但是如何在 Controller 外部加载模型?您不能创建模型的新实例,我已经尝试过:

    require_once("catalog/model/catalog/product.php");
$a_model = new ModelCatalogProduct();

这显然行不通,因为模型不打算以这种方式使用。

我还尝试使用范围解析运算符 (ModelCatalogProduct::customFunction())它也不起作用。

我可以将所有必需的信息作为参数传递,但我宁愿使用购物车库类中的模型,因为更改是全局的。

是否可以在 OpenCart 的 Controller 外部加载模型?

最佳答案

如果您只需要复制一个方法,最好将一个方法添加到 Cart 类本身。 Cart 类将与 $this->db->query() 调用一起工作,因为它已经分配了 $db ,即使它不是 Controller /模型

编辑

如果你想这样做,你可以做类似下面的事情

public function test() {
global $loader, $registry;
$loader->model('catalog/product');
$model = $registry->get('model_catalog_product');
$result = $model->getProduct(123);
}

关于php - OpenCart 在 Controller 外加载模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13512865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com