EC-CUBE EC-CUBE配送管理

EC-Cubeカスタマイズ:管理画面:商品カテゴリーにアイコンと説明文を追加する

投稿日:2012年4月5日 更新日:

配送料の管理はのびのびですみません。
今日は、管理画面側の変更方法のメモです。

商品カテゴリーにアイコンと説明文を追加する方法です。
商品カテゴリーは
[dtb_category]で管理されていますが
初期の管理項目は以下の5項目です
category_id:内部管理用のID
category_name:カテゴリー名称
parent_category_id:親カテゴリーのID(トップの場合は:0)
level:階層
rank:表示順序

これにアイコンのファイルのファイル名を管理する項目と
説明文を管理する項目を追加します

追加する内容としては
・データベース項目の追加
・登録済みデータ取得処理の改造
・管理画面の入力ページの改造
・ファイルアップロード処理の追加
・ファイル削除処理の追加
・データベース登録処理の変更
を行います。

では行きましょう
1.データベース項目の追加
データベースに以下の項目を追加します。
icon text nullを許可
remarks text nullを許可

普段お使いのデータベース管理ツールで項目の追加をしてください。

2.登録済みデータ取得処理の改造
※改造の前にデバッグ用に、データを追記しておきます。
追加した2項目に、データベース管理ツールで、値を追加しておきましょう!

カテゴリ管理のページで各カテゴリの「編集」のリンクをクリックした時に
入力フォームに登録済みのデータが表示されますが、登録済みのデータを取得する処理内では
category_nameだけを取得するようになっています。

LC_Page_Admin_Products_Category.phpの243行目です。

<p style=”margin:0 auto;width:500px;overflow: scroll;border:1px solid #444;padding:10px;white-space:nowrap;”>修正前)
$category_name = $objQuery->get(“category_name”, “dtb_category”, $where, array($category_id));</p>

<p style=”margin:0 auto;width:500px;overflow: scroll;border:1px solid #444;padding:10px;white-space:nowrap;”>修正後)
$categoryArray = $objQuery->getRow(“category_name,icon,remarks”, “dtb_category”, $where, array($category_id));</p>

これで、追加した項目もデータの取得がされるようになりました。

修正した内容は
1.データベースから取得する処理を「get」から「getRow」に変更
getでは1項目しか取得できないので、1行取得できるgetRowに変更
2.データベースから取得する項目を「category_name」だけから3項目に変更
3.取得した値を格納する変数名を「$category_name」から「$categoryArray」に変更

次に、画面に引き継ぐ項目のセットをします
以下のとおり修正します。

<p style=”margin:0 auto;width:500px;overflow: scroll;border:1px solid #444;padding:10px;white-space:nowrap;”>修正前
// 入力ボックスへカテゴリ名を保持する.
$this->arrForm[‘category_name’] = $category_name;
// カテゴリIDを保持する.
$this->arrForm[‘category_id’] = $category_id;</p>
<p style=”margin:0 auto;width:500px;overflow: scroll;border:1px solid #444;padding:10px;white-space:nowrap;”>修正後
// 入力ボックスへカテゴリ名を保持する.
$this->arrForm[‘category_name’] = $categoryArray[“category_name”];
// カテゴリIDを保持する.
$this->arrForm[‘category_id’] = $category_id;
// アイコンファイル名を保持する
$this->arrForm[‘icon’] = $categoryArray[“icon”];
// 説明文を保持する
$this->arrForm[‘remarks’] = $categoryArray[“remarks”];</p>

データの取得して、画面に引き継ぐ設定は出来ました。
画面表示はまだされない状態です。次の項で画面表示をさせるように修正します。

今日はここまで

ad

ad

-EC-CUBE, EC-CUBE配送管理
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スパム対策 * Time limit is exhausted. Please reload the CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

EC-Cube改造

EC-CUBEカスタマイズ案件の続報です。 とりあえず、PHP+Smartyだからカスタマイズも難しくないだろうってだけで、EC-CUBEを選択しましたが、いろいろと不足している機能があるんですね 今 …

EC-Cube改造:テンプレート内で会員ログインの有無を判定する方法

結構簡単にできます。 修正箇所 LC_Page.php header.tpl LC_Page.php function init(){ // ログイン判定 $objCustomer = new SC_ …

EC-CUBE・新規導入キャンペーン

EC-CUBEオンラインショップ・新規導入キャンペーン 先着20サイト限定 198,000円(税込)であなたもネットショップのオーナーに 通常価格:350,000円(税別)を 先着20サイト限定で19 …

EC-Cubeカスタマイズ:データベース処理を必要とするブロックの追加方法について

配送管理は別の機会に 今日は表題の件についてメモってみようと思います Ec-Cube新しいブロックを追加する場合、 単なる表示だけであれば、管理画面の「デザイン管理」→「ブロック管理」で追加すればすみ …

EC-Cubeカスタマイズ:新たなブロックを追加する:新着商品表示ブロック

今日も備忘録です。 EC-CUBE 2.11.5のカスタマイズを開始しました。 例によって、EC-CUBE標準では新着商品の一覧を表示するブロックが無いので作ります。 手順 1.管理画面「デザイン管理 …