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カスタマイズ:マイページから会員情報変更をした際のsub_tilte

備忘録です。 バグというほどのものではないと思いますが テストをしていて違和感があったので修正方法を覚書・・・ ※この情報はVersion2.11.5の情報です 会員のマイページから登録済みの会員情報 …

EC-Cubeカスタマイズ:配送料管理:商品ごとに大きさと重さを管理する

改造の前提条件  ・複数配送先は対応しない  ・小型商品配送用の箱を2種類用意する  ・EC-Cube以外のフリーソフトへの変更は考えない  ・決済方法は、クレジットカード決済・代金引換宅配・銀行振込 …

オンラインショップ新規導入キャンペーン

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

EC-Cube改造:新着商品一覧をトップページに表示

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

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

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