Как программно добавить продукт в базу данных Opencart
-
Интересно, есть ли специальная функция opencart для добавления/редактирования продукта в базу данных Opencart программно с использованием формы php/html на front-end странице (например, функция wordpress "wp_insert_post" ), или мне нужно написать все мой код PHP-путь (вставить в DB_TABLE.....)
-
Кроме того, какие таблицы opencart db я должен использовать для добавления простой информации о продукте с изображением, это только таблицы продуктов и продуктов, конечно же, мне нужно, чтобы продукт отображался также на странице администратора после добавления его с использованием фронта -end page
Мне действительно нужны ссылки, чтобы показать мне, как это сделать
(я использую opencart 1.5.1.3)
Ответы
Ответ 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