配送料の管理はのびのびですみません。
今日は、管理画面側の変更方法のメモです。
商品カテゴリーにアイコンと説明文を追加する方法です。
商品カテゴリーは
[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>
データの取得して、画面に引き継ぐ設定は出来ました。
画面表示はまだされない状態です。次の項で画面表示をさせるように修正します。
今日はここまで