EC-CUBEでパンくずリストを設置してみる

Posted by specterant on 2012.07.18

2.4.4と2.11以降ではカスタマイズが違っているので、2.12.1で実験してみました。
そんな訳で、私用コピペのためのメモです。
変更箇所は下記データです。

・/data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php
・/data/class_extends/page_extends/products/LC_Page_Products_Detail_Ex.php

/* //////////////////////////////////////////////////////////////////////////////
// [/data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php]
////////////////////////////////////////////////////////////////////////////// */
function process()
{
	parent::process();
	$this->action(); //追加
}


// 下記追加
function action()
{
	parent::action();
	$objDb = new SC_Helper_DB_Ex();
	if($this->arrForm['category_id']) {
		$arrCatId = $objDb->sfGetParents("dtb_category", "parent_category_id", "category_id", $this->arrForm['category_id']);
		$TopicPath = '<a href="../">' . HOME . '</a> &gt; ';
		foreach($arrCatId as $key => $val) {
			$arrCatName = $objDb->sfGetCat($val);
			if($val != $this->arrForm['category_id']) {
				$TopicPath .= '<a href="./list.php?category_id=' .$val. '">'. $arrCatName['name'] . '</a> &gt; ';
			}
			else {
				$TopicPath .= $arrCatName['name'];
			}
		}
	}
	else {
		$TopicPath = '<a href="../">' . HOME . '</a> &gt; ' . $this->arrForm['name'] . " の検索結果";
	}
	$this->TopicPath = $TopicPath;
}
/* //////////////////////////////////////////////////////////////////////////////
// [/data/class_extends/page_extends/products/LC_Page_Products_Detail_Ex.php]
////////////////////////////////////////////////////////////////////////////// */
function process()
{
	parent::process();
	$this->action(); //追加
}


// 下記追加
function action()
{
	parent::action();
	$objDb = new SC_Helper_DB_Ex();
	$arrCategory_id = $objDb->sfGetCategoryId( $this->arrProduct['product_id'] );
	$arrCatId = $objDb->sfGetParents( "dtb_category", "parent_category_id", "category_id", $arrCategory_id[0] );
	$TopicPath = '<a href="../">'.HOME.'</a> &gt; ';
	foreach ( $arrCatId as $key => $val ) {
		$arrCatName = $objDb->sfGetCat( $val );
		$TopicPath .= '<a href="./list.php?category_id='.$val.'">'.$arrCatName['name'].'</a>';
		if ( $val != $arrCategory_id[0] ) {
			$TopicPath .= ' &gt; ';
		}
	}
	$this->TopicPath = $TopicPath.' &gt; '.$this->arrProduct['name'];
}
あとは、テンプレートデータに下記を記述すれば、
パンくずリストが表示されます。
<!--{$TopicPath}-->

下記ページを参考にさせていただきました。
EC-CUBE 開発コミュニティ – フォーラム

No comments yet.

Write a comment:

WP-SpamFree by Pole Position Marketing