Как программно добавить продукт в базу данных Opencart - программирование
Подтвердить что ты не робот

Как программно добавить продукт в базу данных Opencart

  • Интересно, есть ли специальная функция opencart для добавления/редактирования продукта в базу данных Opencart программно с использованием формы php/html на front-end странице (например, функция wordpress "wp_insert_post" ), или мне нужно написать все мой код PHP-путь (вставить в DB_TABLE.....)

  • Кроме того, какие таблицы opencart db я должен использовать для добавления простой информации о продукте с изображением, это только таблицы продуктов и продуктов, конечно же, мне нужно, чтобы продукт отображался также на странице администратора после добавления его с использованием фронта -end page

Мне действительно нужны ссылки, чтобы показать мне, как это сделать

(я использую opencart 1.5.1.3)

4b9b3361

Ответ 1

Вам просто нужно создать ассоциированный массив значений, который будет передан методу addProduct() в /admin/model/catalog/product.php. Чтобы загрузить модель в вашем контроллере, используйте

// Assoc array of data
$productData = array(
    'name' => 'Product Name Here',
    'model' => 'ABC123',
    ...
);

// Load model into memory if it isn't already
$this->load->model('catalog/product');

// Attempt to pass the assoc array to the add Product method
$this->model_catalog_product->addProduct($productData);

Это именно то, что OpenCart делает в области администрирования, только то, что оно использует значения POSTed из формы для передачи в качестве массива

Обратите внимание, что некоторые значения, такие как описания, изображения и т.д., являются массивами внутри самого массива данных и поэтому должны быть закодированы как таковые. Если вы хотите взглянуть на то, что получает модель от формы добавления продукта, откройте файл модели php, найдите метод addProduct() и print_r переменную $data в начале метода, который даст вам полный список ключей массива, большинство из которых не требуются. См. Форму в админе, для которой есть. Очень легко определить, какое поле относится к какому ключу в массиве

Дополнительная информация о начинаются как разработчик в OpenCart

Ответ 2

Был там.

Самое главное, а не просто добавлять данные о продуктах в таблицу PREFIX_product и ссылаться на категорию в категории PREFIX_product_to_category.

Но также создайте строку в PREFIX_product_description (с тем же product_id). Без этого показ продукта в области администрирования, но не может быть редактируемым, а ссылка будет с пустым номером product_id, например "admin/index.php? Route = catalog/product/edit & product_id =".

В моем случае включение и использование базовых моделей OC или очистка кеша было ненужным. Продукт, добавленный через запросы MySQL, стал редактируемым и полностью функциональным.

Версия OC 2.2.0.0