1. 程式人生 > >Ecshop模板開發(二十九):商品列表、排序、分頁顯示

Ecshop模板開發(二十九):商品列表、排序、分頁顯示

1、goods_list.lbi

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div class="box">
    <div class="box_1">
        <h3>
            <span>{$lang.goods_list}</span><a name='goods_list'></a>
            <form method="GET" class="sort"
name="listform">
{$lang.btn_display}: <a href="javascript:;" onClick="javascript:display_mode('list')"><img src="images/display_mode_list<!-- {if $pager.display == 'list'} -->_act<!-- {/if} -->.gif" alt="{$lang.display.list}"></a> <a
href="javascript:;" onClick="javascript:display_mode('grid')">
<img src="images/display_mode_grid<!-- {if $pager.display == 'grid'} -->_act<!-- {/if} -->.gif" alt="{$lang.display.grid}"></a> <a href="javascript:;" onClick="javascript:display_mode('text')">
<img src="images/display_mode_text<!-- {if $pager.display == 'text'} -->_act<!-- {/if} -->.gif" alt="{$lang.display.text}"></a>&nbsp;&nbsp; <a href="{$script_name}.php?category={$category}&display={$pager.display}&brand={$brand_id}&price_min={$price_min}&price_max={$price_max}&filter_attr={$filter_attr}&page={$pager.page}&sort=goods_id&order=<!-- {if $pager.sort == 'goods_id' && $pager.order == 'DESC'} -->ASC<!-- {else} -->DESC<!-- {/if} -->#goods_list"><img src="images/goods_id_<!-- {if $pager.sort == 'goods_id'} -->{$pager.order}<!-- {else} -->default<!-- {/if} -->.gif" alt="{$lang.sort.goods_id}"></a> <a href="{$script_name}.php?category={$category}&display={$pager.display}&brand={$brand_id}&price_min={$price_min}&price_max={$price_max}&filter_attr={$filter_attr}&page={$pager.page}&sort=shop_price&order=<!-- {if $pager.sort == 'shop_price' && $pager.order == 'ASC'} -->DESC<!-- {else} -->ASC<!-- {/if} -->#goods_list"><img src="images/shop_price_<!-- {if $pager.sort == 'shop_price'} -->{$pager.order}<!-- {else} -->default<!-- {/if} -->.gif" alt="{$lang.sort.shop_price}"></a> <a href="{$script_name}.php?category={$category}&display={$pager.display}&brand={$brand_id}&price_min={$price_min}&price_max={$price_max}&filter_attr={$filter_attr}&page={$pager.page}&sort=last_update&order=<!-- {if $pager.sort == 'last_update' && $pager.order == 'DESC'} -->ASC<!-- {else} -->DESC<!-- {/if} -->#goods_list"><img src="images/last_update_<!-- {if $pager.sort == 'last_update'} -->{$pager.order}<!-- {else} -->default<!-- {/if} -->.gif" alt="{$lang.sort.last_update}"></a> <input type="hidden" name="category" value="{$category}" /> <input type="hidden" name="display" value="{$pager.display}" id="display" /> <input type="hidden" name="brand" value="{$brand_id}" /> <input type="hidden" name="price_min" value="{$price_min}" /> <input type="hidden" name="price_max" value="{$price_max}" /> <input type="hidden" name="filter_attr" value="{$filter_attr}" /> <input type="hidden" name="page" value="{$pager.page}" /> <input type="hidden" name="sort" value="{$pager.sort}" /> <input type="hidden" name="order" value="{$pager.order}" /> </form> </h3> <!-- {if $category > 0} --> <form name="compareForm" action="compare.php" method="post" onSubmit="return compareGoods(this);"> <!-- {/if} --> <!-- {if $pager.display == 'list'} --> <div class="goodsList"> <!--{foreach name=goods_list from=$goods_list item=goods}--> <ul class="clearfix bgcolor"<!--{if $smarty.foreach.goods_list.index mod 2 eq 0}-->id=""<!--{else}-->id="bgcolor"<!--{/if}-->> <li> <br> <a href="javascript:;" id="compareLink" onClick="Compare.add({$goods.goods_id},'{$goods.goods_name|escape:"html"}','{$goods.type}')" class="f6">比較</a> </li> <li class="thumb"><a href="{$goods.url}"><img src="{$goods.goods_thumb}" alt="{$goods.goods_name}" /></a></li> <li class="goodsName"> <a href="{$goods.url}" class="f6"> <!-- {if $goods.goods_style_name} --> {$goods.goods_style_name}<br /> <!-- {else} --> {$goods.goods_name}<br /> <!-- {/if} --> </a> <!-- {if $goods.goods_brief} --> {$lang.goods_brief}{$goods.goods_brief}<br /> <!-- {/if} --> </li> <li> <!-- {if $show_marketprice} --> {$lang.market_price}<font class="market">{$goods.market_price}</font><br /> <!-- {/if} --> <!--{if $goods.promote_price neq "" } --> {$lang.promote_price}<font class="shop">{$goods.promote_price}</font><br /> <!--{else}--> {$lang.shop_price}<font class="shop">{$goods.shop_price}</font><br /> <!--{/if}--> </li> <li class="action"> <a href="javascript:collect({$goods.goods_id});" class="abg f6">{$lang.favourable_goods}</a> <a href="javascript:addToCart({$goods.goods_id})"><img src="../images/bnt_buy_1.gif"></a> </li> </ul> <!--{/foreach}--> </div> <!-- {elseif $pager.display == 'grid'} --> <div class="centerPadd"> <div class="clearfix goodsBox" style="border:none;"> <!--{foreach from=$goods_list item=goods}--> <!-- {if $goods.goods_id} --> <div class="goodsItem"> <a href="{$goods.url}"><img src="{$goods.goods_thumb}" alt="{$goods.goods_name}" class="goodsimg" /></a><br /> <p><a href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.goods_name}</a></p> <!-- {if $show_marketprice} --> {$lang.market_prices}<font class="market_s">{$goods.market_price}</font><br /> <!-- {/if} --> <!--{if $goods.promote_price neq "" } --> {$lang.promote_price}<font class="shop_s">{$goods.promote_price}</font><br /> <!--{else}--> {$lang.shop_prices}<font class="shop_s">{$goods.shop_price}</font><br /> <!--{/if}--> <a href="javascript:collect({$goods.goods_id});" class="f6">{$lang.btn_collect}</a> | <a href="javascript:addToCart({$goods.goods_id})" class="f6">{$lang.btn_buy}</a> | <a href="javascript:;" id="compareLink" onClick="Compare.add({$goods.goods_id},'{$goods.goods_name|escape:"html"}','{$goods.type}')" class="f6">{$lang.compare}</a> </div> <!--{/if}--> <!--{/foreach}--> </div> </div> <!-- {elseif $pager.display == 'text'} --> <div class="goodsList"> <!--{foreach from=$goods_list item=goods}--> <ul class="clearfix bgcolor"<!--{if $smarty.foreach.goods_list.index mod 2 eq 0}-->id=""<!--{else}-->id="bgcolor"<!--{/if}-->> <li style="margin-right:15px;"> <a href="javascript:;" id="compareLink" onClick="Compare.add({$goods.goods_id},'{$goods.goods_name|escape:"html"}','{$goods.type}')" class="f6">{$lang.compare}</a> </li> <li class="goodsName"> <a href="{$goods.url}" class="f6 f5"> <!-- {if $goods.goods_style_name} --> {$goods.goods_style_name}<br /> <!-- {else} --> {$goods.goods_name}<br /> <!-- {/if} --> </a> <!-- {if $goods.goods_brief} --> {$lang.goods_brief}{$goods.goods_brief}<br /> <!-- {/if} --> </li> <li> <!-- {if $show_marketprice} --> {$lang.market_price}<font class="market">{$goods.market_price}</font><br /> <!-- {/if} --> <!--{if $goods.promote_price neq "" } --> {$lang.promote_price}<font class="shop">{$goods.promote_price}</font><br /> <!--{else}--> {$lang.shop_price}<font class="shop">{$goods.shop_price}</font><br /> <!--{/if}--> </li> <li class="action"> <a href="javascript:collect({$goods.goods_id});" class="abg f6">{$lang.favourable_goods}</a> <a href="javascript:addToCart({$goods.goods_id})"><img src="../images/bnt_buy_1.gif"></a> </li> </ul> <!--{/foreach}--> </div> <!-- {/if} --> <!-- {if $category > 0} --> </form> <!-- {/if} --> </div> </div> <div class="blank5"></div> <script type="Text/Javascript" language="JavaScript"> <!-- {literal} function selectPage(sel) { sel.form.submit(); } {/literal} //--> </script> <script type="text/javascript"> window.onload = function() { Compare.init(); fixpng(); } {foreach from=$lang.compare_js item=item key=key} {if $key neq 'button_compare'} var {$key} = "{$item}"; {else} var button_compare = ''; {/if} {/foreach} var compare_no_goods = "{$lang.compare_no_goods}"; var btn_buy = "{$lang.btn_buy}"; var is_cancel = "{$lang.is_cancel}"; var select_spe = "{$lang.select_spe}"; </script>

2、pages.lbi

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--翻頁 start-->
<form name="selectPageForm" action="{$smarty.server.PHP_SELF}" method="get">
  <!-- {if $pager.styleid eq 0 } -->
  <div id="pager">
    {$lang.pager_1}{$pager.record_count}{$lang.pager_2}{$lang.pager_3}{$pager.page_count}{$lang.pager_4} <span> <a href="{$pager.page_first}">{$lang.page_first}</a> <a href="{$pager.page_prev}">{$lang.page_prev}</a> <a href="{$pager.page_next}">{$lang.page_next}</a> <a href="{$pager.page_last}">{$lang.page_last}</a> </span>
    <!--{foreach from=$pager.search key=key item=item}-->
    {if $key eq 'keywords'}
      <input type="hidden" name="{$key}" value="{$item|escape:decode_url}" />
    {else}
      <input type="hidden" name="{$key}" value="{$item}" />
    {/if}
    <!--{/foreach}-->
    <select name="page" id="page" onchange="selectPage(this)">
      {html_options options=$pager.array selected=$pager.page}
    </select>
  </div>
  <!--{else}-->

  <!--翻頁 start-->
  <div id="pager" class="pagebar">
    <span class="f_l f6" style="margin-right:10px;">{$lang.pager_1}<b>{$pager.record_count}</b> {$lang.pager_2}</span>
    <!-- {if $pager.page_first} --><a href="{$pager.page_first}">{$lang.page_first} ...</a><!-- {/if} -->
    <!-- {if $pager.page_prev} --><a class="prev" href="{$pager.page_prev}">{$lang.page_prev}</a><!-- {/if} -->
    <!-- {if $pager.page_count neq 1} -->
    <!--{foreach from=$pager.page_number key=key item=item}-->
    <!-- {if $pager.page eq $key} -->
    <span class="page_now">{$key}</span>
    <!-- {else} -->
    <a href="{$item}">[{$key}]</a>
    <!-- {/if} -->
    <!--{/foreach}-->
    <!-- {/if} -->

    <!-- {if $pager.page_next} --><a class="next" href="{$pager.page_next}">{$lang.page_next}</a><!-- {/if} -->
    <!-- {if $pager.page_last} --><a class="last" href="{$pager.page_last}">...{$lang.page_last}</a><!-- {/if} -->
    <!-- {if $pager.page_kbd} -->
    <!--{foreach from=$pager.search key=key item=item}-->
    {if $key eq 'keywords'}
      <input type="hidden" name="{$key}" value="{$item|escape:decode_url}" />
    {else}
      <input type="hidden" name="{$key}" value="{$item}" />
    {/if}
    <!--{/foreach}-->
    <kbd style="float:left; margin-left:8px; position:relative; bottom:3px;"><input type="text" name="page" onkeydown="if(event.keyCode==13)selectPage(this)" size="3" class="B_blue" /></kbd>
    <!-- {/if} -->
  </div>
  <!--翻頁 END-->

  <!-- {/if} -->
</form>
<script type="Text/Javascript" language="JavaScript">
  <!--
  {literal}
  function selectPage(sel)
  {
    sel.form.submit();
  }
  {/literal}
  //-->
</script>

3、category.dwt引入

<h1>商品列表</h1><br>
{include file="./library/pages.lbi"}
{include file="./library/goods_list.lbi"}