バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > パンくずリスト ver2.11用 教えてください。

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
patapata
投稿日時: 2011/6/7 21:29
対応状況: −−−
仙人
登録日: 2010/7/7
居住地: 神奈川県
投稿: 502
Re: パンくずリスト ver2.11用 教えてください。
fukap様のを参考に私も自分なり適当に作ってみた(゜o゜)
[お断り!!:コードはあくまでサンプルです。コードが判る人のみ参考にしてください]

----
1.新規ブロックを作成する。
→方法は省略。(仮:ProductNaviって名前で作ってます)

2.新規ブロックのPHPに以下を記述
require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php';

/**
 * パンくず のページクラス.
 *
 */
class LC_Page_FrontParts_Bloc_ProductNavi extends LC_Page_FrontParts_Bloc {

    // }}}
    // {{{ functions

    /**
     * Page を初期化する.
     *
     * @return void
     */
    function init() {
        parent::init();
    }

    /**
     * Page のプロセス.
     *
     * @return void
     */
    function process() {
        $this->action();
        $this->sendResponse();
    }

    /**
     * Page のアクション.
     *
     * @return void
     */
    function action() {
        if ( !empty($_GET['category_id'])){
			$this->tpl_category_id = $this->lfGetSelectedCategoryId($_GET);
			$arrTopic = $this->sfGetTopic($this->tpl_category_id[0]);
        } elseif ( !empty($_GET['product_id'])) {
			$this->tpl_category_id = $this->lfGetSelectedCategoryId($_GET);
			$arrTopic = $this->sfGetTopic2($this->tpl_category_id[0],$_GET['product_id']);
		} elseif (($_GET['mode'] == 'search')){
			$arrTopic[0]['url'] = ROOT_URLPATH;
			$arrTopic[0]['name'] = "TopPage";
			$arrTopic[1]['name'] = $_GET['name'] . " の検索結果";
		}
		$this->arrTopic = $arrTopic;
    }

	//商品一覧用
	function sfGetTopic($category_id) {
		$objDb = new SC_Helper_DB_Ex();
		$arrCatId = $objDb->sfGetParents("dtb_category", "parent_category_id", "category_id", $category_id);

		//トップページ
		$arrTopic[0]['url'] = ROOT_URLPATH . 'index.php';
		$arrTopic[0]['name'] = "TopPage";

		$i = 1;
		foreach($arrCatId as $key => $val){
			$arrCatName = $objDb->sfGetCat($val);
			if($val != $category_id){
				//商品ページってDefineきってないのか?
				$arrTopic[$i]['url'] = ROOT_URLPATH . 'products/list.php?category_id=' .$val;
				$arrTopic[$i]['name'] = $arrCatName['name'];
			} else {
				$arrTopic[$i]['name'] = $arrCatName['name'];
			}
				$i++;
		}
		return $arrTopic;
	}

	//商品詳細用
	function sfGetTopic2($category_id, $product_id) {

		$objDb = new SC_Helper_DB_Ex();
		$arrCatId = $objDb->sfGetParents("dtb_category", "parent_category_id", "category_id", $category_id);

		//トップページ
		$arrTopic[0]['url'] = ROOT_URLPATH . 'index.php';
		$arrTopic[0]['name'] = "TopPage";

		$i = 1;

		foreach($arrCatId as $key => $val){
			$arrCatName = $objDb->sfGetCat($val);
			//商品ページってDefineきってないのか?
			$arrTopic[$i]['url'] = ROOT_URLPATH . 'products/list.php?category_id=' . $val;
			$arrTopic[$i]['name'] = $arrCatName['name'];
			$i++;
        }

		//最後に商品IDから商品名を取得
		$arrRes = $objDb->sfGetProductName($product_id);
		$arrTopic[$i]['name'] = $arrRes['name'];

		return $arrTopic;
	}


    /**
     * デストラクタ.
     *
     * @return void
     */
    function destroy() {
        parent::destroy();
    }

//↓LC_Page_FrontParts_Bloc_Category.phpにあったやつ、まんまコピペしちゃいました。
    /**
     * 選択中のカテゴリIDを取得する.
     *
     * @param array $arrRequest リクエスト配列
     * @return array $arrCategoryId 選択中のカテゴリID
     */
    function lfGetSelectedCategoryId($arrRequest) {
            // 商品ID取得
        $product_id = '';
        if ( isset($arrRequest['product_id']) && $arrRequest['product_id'] != '' && is_numeric($arrRequest['product_id']) ) {
            $product_id = $arrRequest['product_id'];
        }
        // カテゴリID取得
        $category_id = '';
        if ( isset($arrRequest['category_id']) && $arrRequest['category_id'] != '' && is_numeric($arrRequest['category_id']) ) {
            $category_id = $arrRequest['category_id'];
        }
        // 選択中のカテゴリIDを判定する
        $objDb = new SC_Helper_DB_Ex();
        $arrCategoryId = $objDb->sfGetCategoryId($product_id, $category_id);
        if (empty($arrCategoryId)) {
            $arrCategoryId = array(0);
        }
        return $arrCategoryId;
    }
}
?>


3.SC_Helper_DB.phpに以下を追加

    /**
     * 指定した商品IDの商品名を取得する.
     *
     * @param integer $product_id 商品ID
     * @return array 商品IDの商品名
     */
    function sfGetProductName($product_id){
        $objQuery =& SC_Query_Ex::getSingletonInstance();

        // 商品名を取得する
        $arrVal = array($product_id);
        $res = $objQuery->select('name', 'dtb_products', 'product_id = ?', $arrVal);

        return $res[0];
    }


4.新規ブロックのtplに以下を記述
<!--{* ▼パンくずリスト *}-->
<!--{foreach from=$arrTopic item=Topic }-->
<!--{if $Topic.url != ''}-->
<a href = <!--{$Topic.url}-->><!--{$Topic.name|escape}--> </a>&nbsp;>&nbsp;
<!--{else}-->
  <!--{$Topic.name|escape}-->
<!--{/if}-->
<!--{/foreach}-->
<!--{* ▲パンくずリスト *}-->


5.管理画面のページレイアウトの設定で適当に配置

----駄文---
なんとなくブロックでやってみただけです。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   パンくずリスト ver2.11用 教えてください。 momoe33 2011/6/1 23:02
     Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/6/2 19:06
       Re: パンくずリスト ver2.11用 教えてください。 momoe33 2011/6/2 21:49
         Re: パンくずリスト ver2.11用 教えてください。 have 2011/6/3 9:59
           Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/6/4 23:21
             Re: パンくずリスト ver2.11用 教えてください。 tanaca 2011/6/5 17:45
               Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/6/5 19:12
                 Re: パンくずリスト ver2.11用 教えてください。 tanaca 2011/6/6 6:46
                   Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/6/7 14:14
                     Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/6/7 15:31
                     » Re: パンくずリスト ver2.11用 教えてください。 patapata 2011/6/7 21:29
                         Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/6/7 22:18
                           Re: パンくずリスト ver2.11用 教えてください。 patapata 2011/6/7 22:52
                             Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/6/8 21:49
                               Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/6/8 22:04
                                 Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/6/8 22:30
                                   Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/6/9 14:32
                                     Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/6/9 22:06
                                       Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/6/10 10:28
                                         Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/6/10 22:21
                                           Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/6/10 22:44
                                             Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/6/11 8:26
                                               Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/6/11 21:28
                                               Re: パンくずリスト ver2.11用 教えてください。 naganaga 2011/9/20 23:37
                                                 Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/9/21 12:09
                                                   Re: パンくずリスト ver2.11用 教えてください。 naganaga 2011/9/22 14:21
                                                     Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/9/22 14:47
                                                       Re: パンくずリスト ver2.11用 教えてください。 naganaga 2011/9/24 14:24
                                                         Re: パンくずリスト ver2.11用 教えてください。 naganaga 2011/10/8 17:54
                                                           Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/10/8 20:05
                                                             Re: パンくずリスト ver2.11用 教えてください。 it-plus 2011/10/13 12:26
                                                               Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/10/16 8:13
                                                             Re: パンくずリスト ver2.11用 教えてください。 naganaga 2011/10/15 20:39
                                               Re: パンくずリスト ver2.11用 教えてください。 naha24 2011/10/20 16:26
                                                 Re: パンくずリスト ver2.11用 教えてください。 naha24 2011/11/2 17:25
                                         Re: パンくずリスト ver2.11用 教えてください。 it-plus 2011/10/7 18:13
                 Re: パンくずリスト ver2.11用 教えてください。 ゲスト 2012/7/13 8:43
             Re: パンくずリスト ver2.11用 教えてください。 kkkk 2011/10/12 0:07
               Re: パンくずリスト ver2.11用 教えてください。 aska824 2011/10/12 8:26
                 Re: パンくずリスト ver2.11用 教えてください。 kkkk 2011/10/12 22:14
     Re: パンくずリスト ver2.11用 教えてください。 kumayasu 2011/11/25 20:46
       Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/11/28 10:59
         Re: パンくずリスト ver2.11用 教えてください。 kumayasu 2011/11/28 16:17
           Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/11/28 17:54
             Re: パンくずリスト ver2.11用 教えてください。 kumayasu 2011/11/28 18:46
               Re: パンくずリスト ver2.11用 教えてください。 DELIGHT 2011/11/28 19:24
                 Re: パンくずリスト ver2.11用 教えてください。 fukap 2011/11/29 8:36
                   Re: パンくずリスト ver2.11用 教えてください。 kumayasu 2011/11/29 9:40
                     Re: パンくずリスト ver2.11用 教えてください。 noadless 2012/2/15 2:49

 



ログイン


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

統計情報

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

投稿数ランキング

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