[英]How to programmatically add product to Opencart database
我想知道是否有一個特殊的opencart函數在前端頁面上使用php / html表單以編程方式添加/編輯產品到Opencart數據庫(例如wordpress“wp_insert_post”函數)或者我必須用PHP編寫所有代碼(插入進DB_TABLE .....)
還有哪些opencart數據庫表我必須使用它來添加帶有圖像的簡單產品信息,它只是產品和product_description表,當然我需要在使用前端頁面添加產品后也出現在管理頁面中
我真的需要一些參考資料來告訴我這樣做的方法
(我使用的是opencart 1.5.1.3)
你只需要創造價值相聯系的數組傳遞給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中作為開發人員入門的更多信息
到過那里。
最重要的是,不僅要將產品數據添加到表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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.