EC-CUBEでアダルトサイトを作ろう

【Lesson 3】

前項Lesson2のカスタマイズにより、商品登録が行えましたが、それだけではフロントページは正しく表示されません。

Lesson3では、フロントページへの表示方法についてのカスタマイズを解説します。

1.データベース(DB)項目

ページ部分のカスタマイズの前に登録した商品がDBにどのように登録されたのかを少し解説します。

登録画面(CSVファイル)から登録された商品は
・dtb_products                  (商品基本情報:商品名・コメント等)
・dtb_products_class         (商品規格情報:商品価格等)
・dtb_product_categories  (商品カテゴリ情報:登録カテゴリ)
上記3つのテーブルに項目を分けて登録されます。

登録画面のカスタマイズによりどの項目がどこに登録されたのかを下記に示します。
・商品ID  ⇒  product_id
・商品名  ⇒  name
・商品ステータス  ⇒ product_flag
・商品コード  ⇒  product_code
・販売価格  ⇒  price02
・検索ワード  ⇒  comment3
・女優  ⇒  note
・一覧-メインコメント  ⇒  main_list_comment
・登録カテゴリ  ⇒ category_id

フロントページのカスタマイズを行う場合は、表示ページにどの項目を呼び出すかを指定する必要があります。

2.一覧ページ用クエリ(呼び出し要求)の修正

当サイトのSAMPLEサイトでは商品カテゴリをクリックすると、そのカテゴリに登録された商品が一覧リストとして表示されます。

EC-CUBEの初期状態では、一覧表示での呼び出し項目の中に[note]が含まれていませんので、一覧ページ用のクエリを修正します。

対象ファイル:ルート\data\class\db\dbfactory\SC_DB_DBFactory_MYSQL.php

367~418行 「vw_products_allclass」に[note]を追加。

*注意
上記の修正はDBにMySQLを利用されている方が対象になります。PostgreSQLを利用されている方は、DB内に「vw_products_allclass」が作成されていますので、そちらを修正してください。

 

「vw_products_allclass」の修正でDBからの呼び出し項目に[note]の追加は終わりましたが、商品一覧ページに[note]を追加するにはもう少し修正箇所があります。

カテゴリをクリックして表示される商品一覧ページは「vw_products_allclass」で要求された商品の中からさらに、カテゴリと商品ランク(登録順)の順番で呼び出し要求されたものが最初に表示され、「価格順」「新着順」での並び替えが可能となります。

商品一覧ページに「note」を追加するにはこの2番目の呼び出し要求の中にも「note」を追加する必要があります。

対象ファイル:ルート\data\class\pages\products\LC_Page_Products_List.php

376~431行 「/* 商品一覧の表示 */」に[note]を追加

「価格順」「新着順」「default」の3箇所すべてに[note]を追加します。

以上の修正で商品一覧ページの呼び出し要求に関するカスタマイズは終了です。

Lesson4では商品一覧ページの表示に関するカスタマイズを解説します。

back5_4.gif