質問 > フロント機能 > 商品一覧ページにサブカテゴリを表示する方法 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dora2928 |
投稿日時: 2011/1/18 5:26
対応状況: −−−
|
半人前 登録日: 2010/11/3 居住地: 投稿: 12 |
商品一覧ページにサブカテゴリを表示する方法 商品一覧ページにサブカテゴリを表示する方法
http://plaza.rakuten.co.jp/humannoise/diary/201003160001/ ここにのってる関数ですが、 具体的に何行目あたりに追加すればいいかわかる方いらっしゃったら教えてください。 |
sumkjr |
投稿日時: 2011/1/18 17:54
対応状況: −−−
|
一人前 登録日: 2010/10/8 居住地: 投稿: 103 |
Re: 商品一覧ページにサブカテゴリを表示する方法 公式のもの以外は、そこの作者に聞いた方がよいかと思います。
単純に見る限りでは、 lfDispProductsListメソッド内であれば、どこでも大丈夫かと思います。 具体的には、お使いのバージョンがわからないですが、 2.4.4であれば、549行目辺りの一番最後でも良さそうな気がします。 (全く動作確認はしていないので、全然違うかも・・・w) |
dora2928 |
投稿日時: 2011/1/18 18:24
対応状況: −−−
|
半人前 登録日: 2010/11/3 居住地: 投稿: 12 |
Re: 商品一覧ページにサブカテゴリを表示する方法 お返事ありがとうございます!
ブログはやってないので、コメントも入力できず 管理人さんへの連絡方法がなくて聞けず困っていたんです。 function lfDispProductsList内のいろんなとこにいれて試してみたんですけど(549行目あたりも)商品一覧ページが真っ白になります。 成功した方いらっしゃったら教えてください。 |
dora2928 |
投稿日時: 2011/1/24 1:52
対応状況: −−−
|
半人前 登録日: 2010/11/3 居住地: 投稿: 12 |
Re: 商品一覧ページにサブカテゴリを表示する方法 このサイトを参考に、
http://plaza.rakuten.co.jp/humannoise/diary/201003160001/ 下記の変更をやってみましたが、商品一覧ページでカテゴリをクリックすると真っ白な画面になります。 (1)と(2)は何行目あたりに入れれば動作するのか(真っ白にならないのか)どなたかわかる方いらしたら、お願いいたします。 ---------------------------------------- EC-CUBEで商品一覧ページにサブカテゴリーを表示します。 (1)/httpdocs/data/class/helper/SC_Helper_DB.php class SC_Helper_DB内に、子カテゴリー取得関数を作成する。 //子カテゴリーを取得する function sfGetChildCat($category_id) { $objQuery = new SC_Query(); $col = "category_id, category_name"; $from = "dtb_category"; $where = "parent_category_id = ".$category_id; $objQuery->setoption("ORDER BY rank DESC"); $arrRet = $objQuery->select($col, $from, $where); return $arrRet; } (2)/httpdocs/data/class/pages/products/LC_Page_Products_List.php function lfDispProductsList内で子カテゴリーを取得して表示できるようにする。 //検索ではないときに子カテゴリーを取得 if($_GET['mode'] != 'search'){ $arrChildCat_t = $objDb->sfGetChildCat_t($category_id); $this->arrChildCat = $arrChildCat_t; } (3)管理画面の「デザイン管理」−「ページ詳細設定」−「商品一覧ページ」で表示のソースを入れる <!--サブカテゴリここから--> <!--{section name=cnt loop=$arrChildCat}--> <a href=" <!--{$smarty.const.URL_DIR}-->category/<!--{$arrChildCat[cnt].category_id}-->"><!--{$arrChildCat[cnt].category_name}--></a> <!--{/section}--> <!--サブカテゴリここまで--> ---------------------------------------- [EC-CUBE] 2.4.4正式版 [レンタルサーバ] Xサーバー [OS] Linux sv134.xserver.jp 2.6.18-194.32.1.el5PAE #1 SMP Wed Jan 5 18:43:13 EST 2011 i686 [PHP] PHP 5.1.6 [データベース] MySQL 5.0.77 [WEBサーバ] Apache [ブラウザ] Firefox [現象] 商品一覧ページでカテゴリをクリックすると真っ白な画面になります。 |
seasoft |
投稿日時: 2011/1/24 11:35
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品一覧ページにサブカテゴリを表示する方法 > 商品一覧ページが真っ白になります。
私のメモ書きですが、参考になると良いのですが・・・ http://seasoft.jp1.cx/ec/tips/error#画面が真っ白
|
134 |
投稿日時: 2011/1/24 11:51
対応状況: −−−
|
一人前 登録日: 2009/10/20 居住地: 京都市 投稿: 91 |
Re: 商品一覧ページにサブカテゴリを表示する方法 引用:
ファイル末尾に } ?> という行があると思いますので、その直前でよいと思います。 1573行目あたりでしょうか。 引用:
当該ファイル内に lfDispProductsList という関数(クラスメソッド)が存在すると思いますので、その関数の最後でよいと思います。 550行目あたりでしょうか。 また、当該コード内、下記の通り修正が必要かと思います。 誤)$arrChildCat_t = $objDb->sfGetChildCat_t($category_id); 正)$arrChildCat_t = $objDb->sfGetChildCat($category_id); 引用:
参考のサイトのタグは、大なり、小なりの記号が全角になっていますが、半角に直さないといけないことに注意してください。 |
dora2928 |
投稿日時: 2011/1/24 20:11
対応状況: 確認中
|
半人前 登録日: 2010/11/3 居住地: 投稿: 12 |
Re: 商品一覧ページにサブカテゴリを表示する方法 seasoftさん134さんご回答本当にありがとうございます。
134さんのおっしゃる箇所に入れてみましたが、 同じく真っ白になってしまったので、 seasoftさんからいただいた、エラーを画面に表示する方法を参照して出したところ、下記エラーが出ました。 ------------------------- Parse error: syntax error, unexpected T_IF in /home/***/***.com/public_html/ec/data/class/pages/products/LC_Page_Products_List.php on line 567 ------------------------- 567行目は当方のでは、DL販売モジュールのカスタム行がはいっているため、下記「表示順序」switch文内の dtb_product_categories T2 となっていました。(567行目と書いてある所です) このエラー文、当該コードを入れると出るので関係しているのでしょうが、当方ではよくわかりません・・・。 解決方法がわかる方、いらっしゃったら教えてください。 どうぞよろしくお願いいたしますm(_ _)m -------------------------- //表示順序 switch($orderby) { //販売価格順 case 'price': $order = "price02_min, product_id"; break; //新着順 case 'date': $order = "create_date DESC, product_id"; break; default: $order = <<< __EOS__ ( SELECT T3.rank FROM dtb_product_categories T2 JOIN dtb_category T3 USING (category_id) WHERE T2.product_id = alldtl.product_id $where_category_order ORDER BY T3.rank DESC, T2.rank DESC LIMIT 1 ) DESC ,( SELECT T2.rank FROM 567行目 dtb_product_categories T2 JOIN dtb_category T3 USING (category_id) WHERE T2.product_id = alldtl.product_id $where_category_order ORDER BY T3.rank DESC, T2.rank DESC LIMIT 1 ) DESC ,product_id __EOS__; $arrval_order = array_merge($arrval_category, $arrval_category); break; } |
seasoft |
投稿日時: 2011/1/24 20:44
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 商品一覧ページにサブカテゴリを表示する方法 その位置で T_IF エラーが存在するとは考えにくいです。
ソースの行数カウントは改行の数のみをカウントしていますか? あとは、別の環境でも同じエラーが発生するかで、環境依存を切り分けするのも考えられますが・・・ 経験的には、PHP が全く誤ったエラー行を示した事はないです。
|
patapata |
投稿日時: 2011/1/24 21:14
対応状況: −−−
|
仙人 登録日: 2010/7/7 居住地: 神奈川県 投稿: 502 |
Re: 商品一覧ページにサブカテゴリを表示する方法 まぁなにもしていないのであればT_IFは考えずらいと思いますが・・・
よくわからず修正しているのであれば、 全角スペースがソースのどっかに間違って挿入されていないか? ;セミコロンや{}""''こんな感じの記述の場所にの付け忘れなどがないかチェックする ぐらいかなぁ〜 ----------------追記------------------------- あっ ・・・・ 上の記述をコピペでおこなったなら JOIN dtb_category T3 ↑ここに全角スペースがあります |
134 |
投稿日時: 2011/1/25 11:28
対応状況: −−−
|
一人前 登録日: 2009/10/20 居住地: 京都市 投稿: 91 |
Re: 商品一覧ページにサブカテゴリを表示する方法
を挿入されるとエラーになる感じでしょうか。 「function lfDispProductsList内で子カテゴリーを取得して表示できるようにする。」 の行まで入れてられるとか…? (この部分はコードではなく説明文です。的外れならすみません) 上記のコードを挿入するとおかしくなる場合、 挿入後のコードを、その前後数行を含めて 貼り付けてもらったほうがいいかもしれないです。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |