1)/data/class_extends/helper_extends/SC_Helper_DB_Ex.php の編集。

「class SC_Helper_DB_Ex extends SC_Helper_DB」の中にコードを仕込む。

function sfGetTopicPath($category_id){

// 商品が属するカテゴリIDを縦に取得

$objQuery = new SC_Query();

$arrCatID = $this->sfGetParents($objQuery, “dtb_category”, “parent_category_id”, “category_id”, $category_id);

$TopicPath = ” > “;

// カテゴリー名称を取得する

foreach($arrCatID as $key => $val){

$sql = “SELECT category_name FROM dtb_category WHERE category_id = ?”;

$arrVal = array($val);

$CatName = $objQuery->getOne($sql,$arrVal);

if( $val != $category_id){

$TopicPath .= ‘‘ . $CatName . ‘ > ‘;

}else{

$TopicPath .= $CatName;

}

}

return $TopicPath;

}

function sfGetTopicPath2($category_id){

// 商品が属するカテゴリIDを縦に取得

$objQuery = new SC_Query();

$arrCatID = $this->sfGetParents($objQuery, “dtb_category”, “parent_category_id”, “category_id”, $category_id);

$TopicPath = ” > “;

// カテゴリー名称を取得する

foreach($arrCatID as $key => $val){

$sql = “SELECT category_name FROM dtb_category WHERE category_id = ?”;

$arrVal = array($val);

$CatName = $objQuery->getOne($sql,$arrVal);

$TopicPath .= ‘‘ . $CatName . ‘ > ‘;

}

return $TopicPath;

}

2)/data/class/pages/products/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'];

$TopicPath = $objDb->sfGetTopicPath($arrCategory_id[0]); ←追加

$this->tpl_topicpath = $TopicPath; ←追加

}

3)/data/class/pages/products/LC_Page_Products_Detail.php の編集

// サブタイトルを取得

$arrCategory_id = $objDb->sfGetCategoryId($arrRet[0]['product_id'], $status);

$arrFirstCat = $objDb->sfGetFirstCat($arrCategory_id[0]);

$this->tpl_subtitle = $arrFirstCat['name'];

$arrTopicPath = $objDb->sfGetTopicPath2($arrCategory_id[0]); ←追加

$this->tpl_topicpath = $arrTopicPath; ←追加

// 関連カテゴリを取得

$this->arrRelativeCat = $objDb->sfGetMultiCatTree($tmp_id);

4)パンくずリスト用新規ブロックの追加。

デザイン管理→ブロック編集 で新規ブロックをつくり、下記コードを適当な名前で保存。(ブロック名:「パンくずリスト」、ファイル名:「topicpath」で保存)



index.php”>TopPage



デザイン管理→レイアウト編集 にパンくずリストのブロックが出来ているので、パンくずリストを実装したいページ(一覧ページや詳細ページ)の該当箇所にパンくずリストのブロックを設定すればOK。

※ 実際にはLC_Page_Products_List.phpやLC_Page_Products_Detail.phpはそれぞれ LC_Page_Products_List_Ex.phpやLC_Page_Products_Detail_Ex.phpのfunction process()を上書きし変更。