バージョン選択

フォーラム

メニュー

オンライン状況

84 人のユーザが現在オンラインです。 (70 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 83
Regina もっと...

サイト内検索

機能要望 > フロント機能 > タイトル<title>に、2階層以下のカテゴリ名を表示したい

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mkhkck
投稿日時: 2010/6/21 12:51
対応状況: −−−
一人前
登録日: 2009/7/18
居住地:
投稿: 98
Re: タイトルに、自分のカテゴリ名を表示
ありがとうございます。

やっぱり、初心者の為か、書いてある事が難しかったですが、
概ね言いたい事はわかりました。

また、どうしても解決できず、納品しなければならなかったので、

list.tpl冒頭に

<?php?>
記述

<?/php?>
とし、
その下にJavascriptを持ってきて、
力技で何とか対応しました。

ありがとうございました。
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の使い方の世界ですので、これも基本を確認されたほうがいいでしょう。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

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/14 15:48
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: タイトルに、自分のカテゴリ名を表示
カスタマイズ部分それぞれにおいて、想定どおりのデータが入っていたり、取り出せているかどうかを確認すると良いと思います。
詳細はPHPのデバッグ方法になりますので、PHPのマニュアルやTipsなどを探されて確認すると良いと思います。
変数の有効域などもマニュアルを見て、確認されたほうがいいでしょう。

また、var_dumpの文字化けを見る限り文字コードを間違って編集されているようですので、その点も確認するといいかと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

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=" 」

と表示されました。

但し、これは、どのカテゴリを開いても同様の記述が表示されます。

これは何かヒントになりますでしょうか?
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]);
satake7
投稿日時: 2010/6/2 9:44
対応状況: −−−
半人前
登録日: 2010/2/19
居住地: 葉山・秋谷
投稿: 12
Re: タイトルに、自分のカテゴリ名を表示
var_dump()はPHPの変数をダンプするものなので、自分でおかしいなと思うところに入れてみればいいと思いますよ。あれこれ聞くよりやってみた方が速いはず。
mkhkck
投稿日時: 2010/6/1 15:46
対応状況: −−−
一人前
登録日: 2009/7/18
居住地:
投稿: 98
Re: タイトルに、自分のカテゴリ名を表示
そうですか。。。

やはり、ご指定の箇所を変更しているのを確認しましたが、
第一階層しか表示されません。。。

是非
var_dump($arrCategory_id[0])
を使いたいのですが、使い方がわからないのですが、
どこに、挿入したらよいのでしょうか?

一覧表示のタイトル表示部分とかでもよろしいのでしょうか?
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/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));
}

としましたが、やはり第二階層が表示されません。

どうしてでしょうか。。。
(1) 2 3 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,887名です
総投稿数は110,000件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.