8楼的朋友,如果你有未修改程序的方法,能共享出来么??不要光取笑我,希望给出解决办法,我也不想用这样无奈的办法。
大家有没有遇到这样一个问题,比如说制作分类模板的时候,我们要获得一个精华商品列表,代码如下
复制内容到剪贴板
代码:
<!--{foreach from=$best_goods item=goods}-->
<table border="0" cellpadding="3" cellspacing="1" class="goods-table" style="float: left">
<tr>
<td align="center"><a href="{$goods.url}"><img src="{$goods.thumb}" border="0" alt="{$goods.name|escape:html}" class="thumb" /></a></td>
</tr>
<tr>
<td><A href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.short_style_name}</A><br />
<!-- {if $goods.promote_price neq ""} -->
{$lang.promote_price}<span class="goods-price">{$goods.promote_price}</span>
<!-- {else}-->
{$lang.shop_price}<span class="goods-price">{$goods.shop_price}</span>
<!--{/if}-->
</td>
</tr>
</table>
<!--{/foreach}-->但是默认只显示3个商品,有些情况,我们需要调用很多次,但是每次调用的商品数量并不一样,如何解决?
第一步:找到 includes\lib_goods.php
第306行
原代码
复制内容到剪贴板
代码:
function get_category_recommend_goods($type = '', $cats = '', $brand = 0, $min =0, $max = 0, $ext='')修改为
复制内容到剪贴板
代码:
function get_category_recommend_goods($type = '', $cats = '', $brand = 0, $min =0, $max = 0, $ext='',$goodsnum='')第348行
源代码
复制内容到剪贴板
代码:
$sql .= ' ORDER BY g.sort_order, g.last_update DESC';下面添加一行
复制内容到剪贴板
代码:
$num = !empty($goodsnum) ? intval($goodsnum) : 3;第二步:找到根目录下 category.php
修改 287行
复制内容到剪贴板
代码:
$smarty->assign('best_goods', get_category_recommend_goods('best', $children, $brand, $price_min, $price_max, $ext));修改为
复制内容到剪贴板
代码:
$smarty->assign('best_goods', get_category_recommend_goods('best', $children, $brand, $price_min, $price_max, $ext,4));注意最后的4,意思就是显示4个商品
第三步:调用<!--{foreach from=$best_goods item=goods}--> 方式不变,大家注意这里 $best_goods 这个名字其实我们可以改,以便添加其他调用参数,
只要再第二步,category.php文件 287行下面添加另外一行代码,比如
复制内容到剪贴板
代码:
$smarty->assign('best123_goods', get_category_recommend_goods('best', $children, $brand, $price_min, $price_max, $ext,4));注意上面的 best123_goods
这样,我们再模板里,可以这样调用了
<!--{foreach from=$best123_goods item=goods}-->
不明白的回贴哦。只是一个思路,其实好多东西我们可以自己修改,很简单的。
我第一次做2.6的模板,或许不用修改代码就能解决这个问题呢,知道的请告诉下,谢谢了。
[
本帖最后由 灵轩 于 2008-6-4 08:55 编辑 ]