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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

『MATTHEWS』:アメリカンカジュアル セレクトショップ

以前の記事で書いた、友人のお店がオンラインショップを開始しました 『Matthews Online Store』 予算がないため、店主と二人三脚でデザインから機能までを検討して開発を行って来ました。良 …

EC-Cube改造:商品詳細ページで拡大写真の表示を変更する

またまた、備忘録です EC-Cubeの商品詳細ページでは、写真の表示が可能で 拡大写真を商品登録しておくと、ポップアップウィンドウで拡大写真が表示されますよね ポップアップは・・・というお客様は多いと …

簡単・EC-CUBEカスタマイズ:新しいページを/user_data/以外に追加する

連載は相変わらずの持ち越しです・・・ <span style=”color:#f44;”>※この方法で追加したページに関してはPCでのみ動作確認をしております。 携 …

EC-CUBEカスタマイズ:管理画面の商品一覧件数を変更する

EC-Cubeのカスタマイズ案件が今後続きそうなので よく使われそうな機能を備忘録的に・・・ 第一弾:トップページに新着商品を一覧表示 A)管理画面で操作 「デザイン管理」→「ブロック編集」 ブロック …

EC-Cubeカスタマイズ:注文受付メールのタイトルにお客様名を

連投です タイトル通り 注文受付時に自動送信のメールが送られますが タイトルにもお客様名を入れたい ・前提条件 管理画面のメール設定でタイトルに%%%name%%%と入れた箇所をお客様名にする 例) …