1:在includes/cls_template.php裏頂部插入分類函數代碼:php
//經過參數判斷是否存在二級分類css
function get_subcate_byurl($url)sql
{ide
$rs = strpos($url,"category");函數
if($rs!==false)ui
{this
preg_match("/d+/i",$url,$matches);url
$cid = $matches[0];spa
$cat_arr = array();orm
$sql = "select * from ".$GLOBALS['ecs']->table('category')." where parent_id=".$cid." and is_show=1 ORDER BY sort_order ASC, cat_id ASC";
$res = $GLOBALS['db']->getAll($sql);
foreach($res as $idx => $row)
{
$cat_arr[$idx]['id'] = $row['cat_id'];
$cat_arr[$idx]['name'] = $row['cat_name'];
$cat_arr[$idx]['url'] = build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']);
$cat_arr[$idx]['children'] = get_clild_list($row['cat_id']);
}
return $cat_arr;
}
else
{
return false;
}
}
function get_clild_list($pid)
{
//開始獲取子分類
$sql_sub = "select * from ".$GLOBALS['ecs']->table('category')." where parent_id=".$pid." and is_show=1 ";
$subres = $GLOBALS['db']->getAll($sql_sub);
if($subres)
{
foreach ($subres as $sidx => $subrow)
{
$children[$sidx]['id']=$subrow['cat_id'];
$children[$sidx]['name']=$subrow['cat_name'];
$children[$sidx]['url']=build_uri('category', array('cid' => $subrow['cat_id']), $subrow['cat_name']);
}
}
else
{
$children = null;
}
return $children;
}
2:接下來呢,ecshop中的模板文件,也就是thems,找到你本身的模板文件夾,我就使用默認的說好了,打開themesdefaultlibrarypage_header.lbi文件
找到ecshop的導航條模板文件代碼,也就是如下代碼:
<div id="mainNav" class="clearfix">
<li><a href="../index.php"{if $navigator_list.config.index eq 1} class="cur"{/if}>{$lang.home}<span></span></a></li>
<!-- {foreach name=nav_middle_list from=$navigator_list.middle item=nav} -->
<li><a href="{$nav.url}" {if $nav.opennew eq 1}target="_blank" {/if} {if $nav.active eq 1}class="cur" {/if} >{$nav.name}<span></span></a></li>
<!-- {/foreach} -->
</div>
在代碼中加入一段調用分類的代碼,位置看你如何構思二級分類的表現,我是直接這樣加的,我是直接使用鼠標移到或移出當前欄目名稱時,更改當前欄目標籤的CLASS名稱和CSS樣式結合達到二級欄目的顯示和隱藏的:
<div id="mainNav" class="clearfix">
<li><a href="../index.php"{if $navigator_list.config.index eq 1} class="cur"{/if}>{$lang.home}<span></span></a></li>
<!-- {foreach name=nav_middle_list from=$navigator_list.middle item=nav} -->
<li onMouseOver="this.className='menu1'" onMouseOut="this.className='menu2'" class="menu2" id="netxu">
<a href="{$nav.url}" {if $nav.opennew eq 1}target="_blank" {/if} {if $nav.active eq 1}class="cur" {/if} >{$nav.name}<span></span></a>
<?php
$subcates = get_subcate_byurl($GLOBALS['smarty']->_var['nav']['url']);
if($subcates!=false)
{
if(count($subcates)>0)
{
if($subcates)
{
$i = 1;
echo "<div class='cnav' id='cnav'>";
foreach($subcates as $cate)
{
if($i % 2 == 0)
{
}
else
{
}
echo "<div class='class_box'>";
echo "<a class='level_1' href='".$cate['url']."' >".$cate['name']."</a>";
echo "</p>";
if($cate['children'])
{
foreach($cate['children'] as $subcate)
{
echo "<p class='three'>";
echo "<a href='".$subcate['url']."' class='level_2'>".$subcate['name']."</a>";
echo "</p>";
}
echo "</div>";
}
}
echo "</div>";
}
}
}
?>
</li>
<!-- {/foreach} -->
</div>
3:css樣式
#mainNav { width:974px; background:url(images/nav_bg.gif) repeat-x; height:38px; border:1px solid #d1d1d1; line-height:38px; }
#mainNav li { display:inline; list-style:none; list-style-position:outside; text-align:center; font-weight:bold; float:left; }
#mainNav li a { color:#614F11; text-decoration:none; display:block; border-right:1px solid #d1d1d1; padding:0 30px; }
#mainNav .menu1 a{ background:url(images/nav_hover.gif) repeat-x; }
.menu1 { display:block; }
.menu1 .cnav { display:block; }
.cnav { min-width:350px; max-width:700px; background:#FFF; z-index:10; position:absolute; display:none; border:3px solid #FFD531; border-top:8px solid #FFD531; text-align:left; padding:10px; }
#mainNav li .cnav a { font-size:12px; color:#333333; padding:0; text-align:left; margin-left:5px; font-size:12px; border:none; height:30px; line-height:30px; border-bottom:1px solid #ccc; background:none;}
#mainNav li .cnav a:hover { background:none; text-decoration:underline; color:#FFA500; }
#mainNav li .cnav p { display:inline; }
#mainNav li .cnav .three a { font-weight:normal; border:none; height:15px; line-height:15px; margin-top:8px; }