breadcrumbs翻成中文應該是麵包屑??
前幾天才知道…日文是パンくず
恩…勉強になりました!
以下也是參考ec-cube公式ガイドブック用的….
在\data\module\Smarty\libs\plugins\新增一個檔案insert.pan.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | <?php function smarty_insert_pan($param, &$smarty) { require_once("../require.php"); $pan = array(); $count = 0; // パンくず情報となるデータを取得 $objQuery = new SC_Query(); switch($param) { case (SC_Utils::sfIsInt($param['product_id'])): // product_idが入ってきた場合 $sql = " SELECT dtb_category.category_id, category_name, dtb_category.parent_category_id FROM dtb_category WHERE category_id = (SELECT MIN(category_id) FROM dtb_product_categories WHERE product_id = ? ) "; $res = $objQuery->conn->getAll($sql, array($param['product_id']), DB_FETCHMODE_ASSOC); if (is_array($res)) { $pan[$count]['category_id'] = $res[0]['category_id']; $pan[$count]['category_name'] = $res[0]['category_name']; if (ereg("[0-9]+$", $res[0]['parent_category_id']) and ($res[0]['parent_category_id'] > 0)) { // 上位にカテゴリーがある場合 do { $sql = "SELECT category_id, category_name, parent_category_id FROM dtb_category WHERE category_id =?"; $res = $objQuery->conn->getAll($sql, array($res[0]['parent_category_id']), DB_FETCHMODE_ASSOC); if (is_array($res)) { $count++; $pan[$count]['category_id'] = $res[0]['category_id']; $pan[$count]['category_name'] = $res[0]['category_name']; } } while ($res[0]['parent_category_id'] != "0"); } } break; case (SC_Utils::sfIsInt($param['category_id'])): // カテゴリーIDが入ってきた場合 $res[0]['parent_category_id'] = $param['category_id']; do { $sql = " SELECT category_id, category_name, parent_category_id FROM dtb_category WHERE category_id =? "; $res = $objQuery->conn->getAll($sql, array($res[0]['parent_category_id']), DB_FETCHMODE_ASSOC); if (is_array($res)) { $count++; $pan[$count]['category_id'] = $res[0]['category_id']; $pan[$count]['category_name'] = $res[0]['category_name']; } } while ($res[0]['parent_category_id'] != "0"); break; } // 取得した配列を逆ソート(上位カテゴリー順)に並び替える if (count($pan) > 0) { krsort($pan); } // 取得したデータをSmartyに渡す $smarty->caching=0; $smarty->assign("pan",$pan); $pan = $smarty->fetch("pan.tpl"); // Smartyテンプレートで生成されたデータを一旦配列に入れる print($pan); } ?> |
\data\Smarty\templates\mystyle\新增一個檔案pan.tpl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <!--{if $pan}--> <!--{strip}--> <a href="<!--{$smarty.const.SITE_URL}-->">HOME</a> > <a href="<!--{$smarty.const.URL_DIR}-->"></a> <!--{foreach from=$pan item=item name=loops}--> <!--{if !$smarty.foreach.loops.last}--> <a href="<!--{$smarty.const.URL_DIR}-->products/list/<!--{$item.category_id}-->"><!--{$item.category_name}--></a> > <!--{elseif $smarty.foreach.loops.last && $arrProduct.name}--> <a href="<!--{$smarty.const.URL_DIR}-->products/list/<!--{$item.category_id}-->"><!--{$item.category_name}--></a> <!--{elseif $smarty.foreach.loops.last && !$arrProduct.name}--> <strong><!--{$item.category_name}--></strong> <!--{/if}--> <!--{/foreach}--> <!--{if $arrProduct.name}--> > <strong><!--{$arrProduct.name|escape}--></strong> <!--{/if}--> <!--{/strip}--> <!--{/if}--> |
接下來只要在
\html\user_data\packages\mystyle\detail.tpl
想加入的地方放
<!--{insert name="pan" product_id=$tpl_product_id}--> |
在\html\user_data\packages\mystyle\list.tpl
想加入的地方放
<!--{insert name="pan" category_id=$smarty.get.category_id}--> |
就ok囉
其實也就是帶的參數不同給insert.pan.php判斷而已