Я хочу добавить продукты через мой скрипт, который не связан с OpenCart.
Например: somedir/index.php
, Я пытаюсь сделать это следующим образом:
$productData = array(
'model' => 'ABC123',
'name'=>'aaa',
'description'=>'aaa',
'tag'=>'aaa',
...
);
require_once ('../../system/engine/model.php');
require_once ('../../admin/model/catalog/product.php');
$a= new ModelCatalogProduct();
$a->addProduct($productData);
Но есть много функций, которые должны быть запущены. Как этого достичь?
OpenCart использует так называемый MVC-шаблон. Этот паттерн работает в OpenCart очень специализированным и тесно связанным способом, поэтому вам нужен контекст системы маршрутизации на случай, если вы захотите использовать контроллеры и модели в своем коде.
Кроме того, это действительно зависит от того, какую версию вы используете, какая семантика будет правильной, так что трудно сказать. Концептуально, вы бы сделали что-то вроде этого:
— определить новый контроллер в структуре каталогов / admin / controller, т.е. /admin/controller/tool/product_import.php
$this->model_catalog_product->addProduct($productData);
При запуске этой функции из раздела администратора вы должны использовать для этого функции OpenCart. В зависимости от вашей версии это будет выглядеть следующим образом для 2.2.0.0:
$this->url->link('tool/product_import', 'token=' . $this->session->data['token'], true)
Других решений пока нет …