私は、多くのカスタマイズが必要な OpenCart プロジェクトに取り組んでいます。私のプロジェクトでは、カート ライブラリ (system/library/cart.php) で何かを変更する必要があります。
製品モデル (catalog/model/catalog/product.php) 内で定義されているカスタム関数を呼び出す必要があります。
コントローラーでは、モデルをロードしてその関数を使用するのは簡単です。
$this->load->model("catalog/product");
$this->model_catalog_product->customFunction();
しかし、コントローラーの外部でモデルをロードするにはどうすればよいでしょうか? モデルの新しいインスタンスを作成することはできません。私はすでにそれを試しました:
require_once("catalog/model/catalog/product.php");
$a_model = new ModelCatalogProduct();
モデルがそのような方法で使用されることを意図していないため、これは明らかに機能しません。
スコープ解決演算子 ( ModelCatalogProduct::customFunction()) も使用しようとしましたが、どちらも機能しません。
必要なすべての情報を引数として渡すこともできますが、変更がグローバルになるため、モデルをカート ライブラリ クラス内で使用したいと考えています。
OpenCart のコントローラの外部にモデルをロードすることさえ可能ですか?