web-dev-qa-db-ja.com

Opencartデータベースにプログラムで製品を追加する方法

  • フロントエンドページのphp/htmlフォームを使用してプログラムでOpencartデータベースに製品を追加/編集するための特別なopencart関数(wordpress "wp_insert_post"関数など))があるのでしょうか。すべてのコードを書くPHP方法(DB_TABLEに挿入.....)

  • また、画像付きの簡単な製品情報を追加するために使用する必要があるopencart dbテーブルは、productテーブルとproduct_descriptionテーブルのみです。もちろん、フロントエンドページを使用して追加した後、管理ページにも製品を表示する必要があります。

私はそれを行う方法を私に示すために本当にいくつかの参照が必要です

(私はopencart 1.5.1.3を使用しています)

18
usama sulaiman

_/admin/model/catalog/product.php_のaddProduct()メソッドに渡される値の連想配列を作成する必要があります。コントローラにモデルをロードするには、

_// 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が管理領域で行うこととまったく同じですが、フォームからPOSTされた値を使用して配列として渡すだけです。

説明、画像などの一部の値はデータ配列自体の配列であるため、そのようにコーディングする必要があることに注意してください。モデルが製品追加フォームから受け取るものを確認したい場合は、モデルのphpファイルを開き、addProduct()メソッドと_print_r_ _$data_変数を最初に見つけます。配列キーの完全なリストを提供するメソッドの一部ですが、そのほとんどは必須ではありません。管理者のフォームを参照してください。どのフィールドが配列内のどのキーに関連しているかを理解するのは非常に簡単です

OpenCart で開発者として始めるための詳細情報

19
Jay Gilford

行ったことがある。

最も重要なことは、テーブルに製品データを追加するだけでなく、PREFIX_productそしてPREFIX_product_to_categoryのカテゴリにリンクすることです。

ただし、PREFIX_product_descriptionと同じproduct_id)にも行を作成します。これがないと、製品は管理領域に表示されますが、編集できず、リンクは「admin/index.php?route = catalog/product/edit&product_id =」のような空のproduct_id番号になります。

私の場合、OCコアモデルを含めて使用したり、キャッシュをクリアしたりする必要はありませんでした。 MySQLクエリを介して追加された製品は編集可能になり、完全に機能するようになりました。

OCバージョン2.2.0.0

1
Andrew