バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 親カテゴリのIDを取得の変数

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2007/3/25 17:07
対応状況: −−−
親カテゴリのIDを取得の変数
商品詳細ページにおいて、親カテゴリのIDを取得したいのですが、

<a href="<!--{$smarty.const.URL_DIR}-->products/list.php?category_id=<!--{$arrProduct.category_id}-->">

を設定するとサブカテゴリのIDが取得されてしまいます。
親カテゴリのIDを取得するにはどのような変数を指定するべきなのでしょうか?

アドバイス頂けませんでしょうか。

宜しくお願い致します。
ramrun
投稿日時: 2007/3/25 23:33
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: 親カテゴリのIDを取得の変数
商品詳細ページの内容をみると、dtb_productsテーブルからデータを取得しているようで、このテーブルには親カテゴリに関する情報はありません。
dtb_categoryテーブルから情報を取得するように追加する必要がありそうです。

下記のファイルにコードを追加します。

 /eccube/html/products/detail.php

  :
  :
//この商品を買った人はこんな商品も買っています
$objPage->arrRelateProducts = lfGetRelateProducts($tmp_id);

$objPage->arrProduct["parent_category_id"] = lfGetParentCategoryID($objPage->arrProduct["category_id"]);
$objPage->arrProduct["root_category_id"] = lfGetRootCategoryID($objPage->arrProduct["category_id"]);

// 拡大画像のウィンドウサイズをセット
list($large_width, $large_height) = getimagesize(IMAGE_SAVE_DIR . basename($objPage->arrFile["main_large_image"]["filepath"]));
$objPage->tpl_large_width = $large_width + 60;
$objPage->tpl_large_height = $large_height + 80;

$objView->assignobj($objPage);
$objView->display(SITE_FRAME);
//-----------------------------------------------------------------------------------------------------------------------------------

/* 親カテゴリの取得 */
function lfGetParentCategoryID($category_id) {
	$objQuery = new SC_Query();
	$parent_category_id = $objQuery->get("dtb_category", "parent_category_id", "category_id = ?", array($category_id));
	if($parent_category_id < 1) {
		return $category_id;
	}
	return $parent_category_id;
}

/* ルートカテゴリの取得 */
function lfGetRootCategoryID($category_id) {
	$objQuery = new SC_Query();
	do{
		$parent_category_id = $objQuery->get("dtb_category", "parent_category_id", "category_id = ?", array($category_id));
		if($parent_category_id > 0) {
			$category_id = $parent_category_id;
		}
	}while($parent_category_id > 1);
	return $category_id;
}

/* ファイル情報の初期化 */
function lfInitFile() {
  :
  :


あとは商品詳細ページに

現在のカテゴリIDは<!--{$arrProduct.category_id}--><br />
1つ前のカテゴリIDは<!--{$arrProduct.parent_category_id}--><br />
最上位カテゴリIDは<!--{$arrProduct.root_category_id}--><br />

などと書けばIDが表示されます。

ルートの方、ちょっとまずかったので直しました(汗)。
ゲスト
投稿日時: 2007/3/26 0:39
対応状況: −−−
Re: 親カテゴリのIDを取得の変数
ramrun 様

無事表示させることができました。
大変丁寧なご説明誠にありがとう御座いました。

いろいろ設定ファイルを見て回っていたとき、
parent_category_idというものがあったのでこれを使うのだろうということまでは予想がついていたのですが、
まさに/products/detail.phpのそれらしい記述を片っ端から書き換えてテストをしていたところでした。

ちょっといじれば・・・と思っていたのですが甘かったようです^^;

本当に助かりました。
改めて、ありがとう御座いました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,711名です
総投稿数は109,948件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
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.