機能要望 > フロント機能 > タイトル<title>に、2階層以下のカテゴリ名を表示したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mkhkck |
投稿日時: 2010/5/21 23:46
対応状況: −−−
|
一人前 登録日: 2009/7/18 居住地: 投稿: 98 |
Re: タイトルに、自分のカテゴリ名を表示 LC_Page_Products_List.phpのタイトル編集を
// タイトル編集 $tpl_subtitle = ""; if ($_GET['mode'] == 'search') { $tpl_subtitle = "検索結果"; } elseif (empty($arrCategory_id[0])) { $tpl_subtitle = "全商品"; } else { //$arrFirstCat = $objDb->sfGetFirstCat($arrCategory_id[0]); //$tpl_subtitle = $arrFirstCat['name']; //$tpl_subtitle = $objDb->sfGetCatCombName($arrCategory_id[0]);//追加行 $tpl_subtitle = $objDb->sfGetCat($arrCategory_id[0]); } とし、 $tpl_subtitle = $objDb->sfGetCat($arrCategory_id[0]); /data/class_extends/helper_extends/SC_Helper_DB_Ex.phpのclass SC_Helper_DB_Ex extends SC_Helper_DB {内に以下を追記。 function sfGetCat($category_id){ $objQuery = new SC_Query(); $sql = "SELECT category_name FROM dtb_category WHERE category_id = ?"; return $objQuery->getOne($sql, array($category_id)); } としましたが、やはり第二階層が表示されません。 どうしてでしょうか。。。 |
satake7 |
投稿日時: 2010/5/25 10:27
対応状況: −−−
|
半人前 登録日: 2010/2/19 居住地: 葉山・秋谷 投稿: 12 |
Re: タイトルに、自分のカテゴリ名を表示 LC_Page_Products_List.phpには該当箇所が2か所(PCとモバイル)ありますが、モバイルの方だけ書き換えてるというオチはありませんか?
2か所とも書き換えているのだとすると、あとは、var_dump($arrCategory_id[0])で何が渡ってきているか確認してご自分で対処されるしか方法はなさそうです。 念のため、こちらの環境でやってみましたが、ちゃんと第二階層が出ていますので。 |
mkhkck |
投稿日時: 2010/6/1 15:46
対応状況: −−−
|
一人前 登録日: 2009/7/18 居住地: 投稿: 98 |
Re: タイトルに、自分のカテゴリ名を表示 そうですか。。。
やはり、ご指定の箇所を変更しているのを確認しましたが、 第一階層しか表示されません。。。 是非 var_dump($arrCategory_id[0]) を使いたいのですが、使い方がわからないのですが、 どこに、挿入したらよいのでしょうか? 一覧表示のタイトル表示部分とかでもよろしいのでしょうか? |
satake7 |
投稿日時: 2010/6/2 9:44
対応状況: −−−
|
半人前 登録日: 2010/2/19 居住地: 葉山・秋谷 投稿: 12 |
Re: タイトルに、自分のカテゴリ名を表示 var_dump()はPHPの変数をダンプするものなので、自分でおかしいなと思うところに入れてみればいいと思いますよ。あれこれ聞くよりやってみた方が速いはず。
|
mkhkck |
投稿日時: 2010/6/6 13:24
対応状況: −−−
|
一人前 登録日: 2009/7/18 居住地: 投稿: 98 |
Re: タイトルに、自分のカテゴリ名を表示 var_dump($arrCategory_id[0]);
を追記し、確認してみましたが、特にどこにも何も表示されませんでした。 この事自体問題でしょうか? // タイトル編集 $tpl_subtitle = ""; var_dump("値の確認=".$arrCategory_id[0]); if ($_GET['mode'] == 'search') { $tpl_subtitle = "検索結果"; } elseif (empty($arrCategory_id[0])) { $tpl_subtitle = "全商品"; } else { //$arrFirstCat = $objDb->sfGetFirstCat($arrCategory_id[0]); //$tpl_subtitle = $arrFirstCat['name']; $tpl_subtitle = $objDb->sfGetCatCombName($arrCategory_id[0]);//追加行 //$tpl_subtitle = $objDb->sfGetCat($arrCategory_id[0]); } var_dump("値の確認2=".$arrCategory_id[0]); |
mkhkck |
投稿日時: 2010/6/13 9:04
対応状況: −−−
|
一人前 登録日: 2009/7/18 居住地: 投稿: 98 |
Re: タイトルに、自分のカテゴリ名を表示 html/products/list.php
内に ... $objPage->init(); $objPage->process(); var_dump("値の確認3=".$arrCategory_id[0]); ?> というように、var_dump()を入れたら、 ページ最下部に初めて、 「string(10) "l̊mF3=" 」 と表示されました。 但し、これは、どのカテゴリを開いても同様の記述が表示されます。 これは何かヒントになりますでしょうか? |
AMUAMU |
投稿日時: 2010/6/14 15:48
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: タイトルに、自分のカテゴリ名を表示 カスタマイズ部分それぞれにおいて、想定どおりのデータが入っていたり、取り出せているかどうかを確認すると良いと思います。
詳細はPHPのデバッグ方法になりますので、PHPのマニュアルやTipsなどを探されて確認すると良いと思います。 変数の有効域などもマニュアルを見て、確認されたほうがいいでしょう。 また、var_dumpの文字化けを見る限り文字コードを間違って編集されているようですので、その点も確認するといいかと思います。
|
mkhkck |
投稿日時: 2010/6/16 14:59
対応状況: −−−
|
一人前 登録日: 2009/7/18 居住地: 投稿: 98 |
Re: タイトルに、自分のカテゴリ名を表示 ありがとうございます!!
この件、どうやら、 LC_Page_Products_List.phpの 91行目 // GETのカテゴリIDを元に正しいカテゴリIDを取得する。 $arrCategory_id = $objDb->sfGetCategoryId("", $_GET['category_id']); となっていますが、 http://DOMAIN/products/list.php?category_id=48 が通常である所を、URLを丸めて http://DOMAIN/products/list/48/ としているせいでGetの値が取れないのだと思いました。 表示している現在のURL(ドメインよりも下の)を取得する方法は $_SERVER['REQUEST_URI'] でした。 でもなぜか、 process(){ echo $_SERVER['REQUEST_URI']; としても表示されず、process()が走ってない!?ような気にもなってきましたが、 ひとまず、 init(){ echo $_SERVER['REQUEST_URI']; としたら表示できたので、 /products/list/48/ のようにページ上部に表示されたので、 function init() { 内に、 $URL = split("/" , $_SERVER['REQUEST_URI']); $catListno = $URL[3]; $objDb = new SC_Helper_DB_Ex(); $tpl_subtitle = $objDb->sfGetCatCombName($catListno); としました。 しかし、やはり第一階層しか表示されません。。。 function init() { echo $catListno; とすると、 48と出てくるのですが。。。 |
AMUAMU |
投稿日時: 2010/6/16 17:47
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: タイトルに、自分のカテゴリ名を表示 変数の有効域(スコープ)や関数の呼び出し関係などPHPの基礎部分を再確認されたほうがいいでしょう。URL短縮化をしているのであればRewriteの仕組みも把握されたほうが良いと思います。
http://www.php.net/manual/ja/language.variables.scope.php >processが走っていない どこかのprocessが処理しているから画面が出来るわけですから、そもそも論として見ている所が間違っているのでは無いでしょうか?カスタマイズされた環境を使っているようですが、呼び出し関係などを追うべきです。PHPの使い方の世界ですので、これも基本を確認されたほうがいいでしょう。
|
mkhkck |
投稿日時: 2010/6/21 12:51
対応状況: −−−
|
一人前 登録日: 2009/7/18 居住地: 投稿: 98 |
Re: タイトルに、自分のカテゴリ名を表示 ありがとうございます。
やっぱり、初心者の為か、書いてある事が難しかったですが、 概ね言いたい事はわかりました。 また、どうしても解決できず、納品しなければならなかったので、 list.tpl冒頭に <?php?> 記述 <?/php?> とし、 その下にJavascriptを持ってきて、 力技で何とか対応しました。 ありがとうございました。 |
« 1 2 (3) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |