Modelo de carga de OpenCart fuera del controlador

Estoy trabajando en un proyecto OpenCart, que requiere mucha personalización. para mi proyecto tengo que cambiar algo en la biblioteca de carrito (system / library / cart.php).

Tendría que llamar una función personalizada que está definida dentro del modelo del producto (catálogo / modelo / catálogo / producto.php).

En un controlador, cargar un modelo y usar sus funciones es fácil:

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

Pero, ¿cómo cargar un modelo fuera de un controlador? No puedes crear una nueva instancia del modelo, ya lo intenté:

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

Obviamente, esto no funciona porque los modelos no fueron diseñados para usarse de esa manera.

También intenté usar el operador de resolución de alcance (ModelCatalogProduct :: customFunction ()). Tampoco funciona.

Podría pasar toda la información requerida como argumentos, pero preferiría usar el modelo dentro de la clase de la biblioteca del carro, ya que los cambios serían globales.

¿Es posible cargar un modelo fuera de un controlador en OpenCart?

Respuestas a la pregunta(3)

Su respuesta a la pregunta