ECSHOP:首页实现显示子分类商品,并实现点击Tab页切换分类商品
开始: 1. 打开调试开关 文件地址:include/cls_template.php 找到 :function _eval($content)函数体第一行增加: echo($content); 改写调试完毕后在注释掉。 2. 修改goods获取函数,以便显示子分类。 文件:include/cls_goods.php 找到函数:function assign_cat_goods, 在 $cat['id'] = $cat_id; 后增加一行:
$cat['cat_id'] = get_child_tree($cat_id);
// 调用子分类信息。
3.修改模板 cat_goods.lbi ,显示子分类并调用子商品 <div class="row" //有子分类<ul class="nav nav-tabs" >
<!-- {foreach from=$goods_cat.cat_id item=rec_cat name=f}-->
<li <!-- {if $smarty.foreach.f.index eq 0} -->class="active" <!--{/if}-->><a href="#tab{$rec_cat.id}" data-toggle="tab">{$rec_cat.name|escape:html}</a></li>
<!-- {/foreach}-->
</ul>
<!-- <div align="right" class="more"><a href="{$goods_cat.url}">更多>></a></div>-->
<div class="tab-content">
<!-- {foreach from=$goods_cat.cat_id item=rec_cat1 name=f1}--> //这里循环获取当前商品分类ID,传入获取商品信息集合
$cid = $this->_var['rec_cat1']['id'];
$this ->assign('goods_cat_'.$cid, assign_cat_goods($cid, 4));
$this->assign('cat_goods_nf',$this->_var['cat_goods_'.$cid]);
?>
<div class="tab-pane <!-- {if $smarty.foreach.f1.index eq 0} -->active<!--{/if}-->" id="tab{$rec_cat1.id}">
<div class="row">
<!--{foreach from=$cat_goods_nf item=goods}-->
<div class="span3">
<div class="thumbnail"> <a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}"></a>
<div class="thumspan">{$goods.short_name|escape:html}<br />
市场价:<span //单个分类,无下级分类
<ul class="nav nav-tabs" >
<li class="active"><a href="#tab{$goods_cat.id}" data-toggle="tab">{$goods_cat.name|escape:html}</a></li>
</ul>
<div align="right" class="more"><a href="{$goods_cat.url}">更多>></a></div>
<div class="tab-content">
<div class="tab-pane active" id="tab{$goods_cat.id}">
<div class="row">
<!--{foreach from=$cat_goods item=goods}-->
<div class="span3">
<div class="thumbnail"> <a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}"></a>
<div class="thumspan">{$goods.short_name|escape:html}<br />
市场价:<span 在实际使用中,发现两个bug: 。 改正如下: 1. 增加当前大分类ID是否有值的判断 增加位置:商品分类模板第一行cat_goods.lbi 代码:
<!-- { not (.id) || .id>0} -->
2. 修改获取当前ID代码。代码如下:
<!-- { from=.cat_id item=rec_cat1 name=f1 =curCat}-->
<? = ->_var['curCat'];
->assign('goods_cat_'., assign_cat_goods(, 4->assign('cat_goods_nf',->_var['cat_goods_'.?>
PHP之友评论