我剛剛看到一些來自opencart的擴展,從產品列表頁面更新產品,我試過了我的opencart項目,intresting ...現在我開始爲我的開發一個新的擴展opencart項目是:插入批量產品到管理...這可以添加多達10個產品一次,填寫產品表格後點擊Save按鈕這10個產品可以存儲到數據庫...每個產品形式只有5個以下表單域,Opencart:插入散裝產品,product_id不唯一
- 價格
- 量
- 模型
- 名
- 狀態
我可以使用Opencart的爲以後添加額外的細節/選項/說明默認產品編輯頁面,而當插入此散裝產品僅3下列表格與我的查詢連接,
- 產品
- PRODUCT_DESCRIPTION
- product_to_store
我已經嘗試了一些代碼,我的問題是,當我點擊保存按鈕表product
和product_description
數據插入功能的成功,但product_id
沒有從上述兩表中是唯一的,因爲如果例如product
表product_id = 125
然後product_description
表product_id = 5
,我需要這3個表product_id必須像我們默認的opencart插入工作一樣獨特...任何想法.. ??
什麼我想在這裏.... 表
<input type="text" name="product_description[<?php echo $language['language_id']; ?>][name]" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['name'] : ''; ?>" />
<input type="text" name="model" value="" />
<input type="text" name="quantity" value="" />
<input type="text" name="price" value="" />
<select name="stock_status_id">
<?php foreach ($stock_statuses as $stock_status) { ?>
<?php if ($stock_status['stock_status_id'] == $stock_status_id) { ?>
<option value="<?php echo $stock_status['stock_status_id']; ?>" selected="selected"><?php echo $stock_status['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $stock_status['stock_status_id']; ?>"><?php echo $stock_status['name']; ?></option>
<?php } ?>
<?php } ?>
</select>
控制器
public function simple_pu() {
$this->load->language('catalog/product');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('catalog/product');
if (isset($this->request->post['selected']) && $this->validateSimplePu()) {
$url = '';
foreach ($this->request->post['selected'] as $product_id) {
$price_str = $product_id.'_price';
$quantity_str = $product_id.'_quantity';
$model_str = $product_id.'_model';
$name_str = $product_id.'_name';
$status_str = $product_id.'_status';
$price = $this->request->post[$price_str];
$quantity = $this->request->post[$quantity_str];
$model = $this->request->post[$model_str];
$name = $this->request->post[$name_str];
$status = $this->request->post[$status_str];
$su_data = array('price' => $price, 'quantity' => $quantity, 'model' => $model, 'name' => $name, 'status' => $status);
$this->model_catalog_product->editPrices($product_id, $su_data);
}
$this->redirect($this->url->link('catalog/product', 'token=' . $this->session->data['token'] . $url, 'SSL'));
}
$this->getListbulk();
}
型號
public function addBulkproduct($product_id, $su_data) {
if (isset($su_data['product'])) {
$this->db->query("INSERT INTO " . DB_PREFIX . "product SET price = '" . $this->db->escape($su_data['price']) . "', model = '" . $this->db->escape($su_data['model']) . "', quantity = '" . $this->db->escape($su_data['quantity']) . "', student_id = '" . (int)$student_id . "', date_added = NOW()");
}
if (isset($su_data['product_description'])) {
$this->db->query("UPDATE " . DB_PREFIX . "product_description SET name = '" . $this->db->escape($su_data['name']) . "' WHERE product_id = '" . (int)$product_id . "'");
}
}
多數民衆贊成.... 上面的代碼只是一個結構如果你知道有關我的問題的任何擴展,你可以建議我...
感謝...
@shadyyx ...你是對的...我只是想念它$ product_id = $ this-> db-> getLastId();謝謝你的回答,它的工作現在 – mans
我上面的問題,我已經試過做的一切,成功......但仍然沒有更多的想法插入product_id存儲表,我的opencart有兩個商店也id = 0,id = 2 ...任何想法。?感謝 – mans
,同時添加新的批量產品,您必須獲取所有商店ID並將product_id鏈接store_id <-> product_id存儲到'product_store'表......與'/ admin/model/catalog/product中的方法相同。 php'和方法'addProduct()'。 – shadyyx