其实有一个简单好用的方法就是,并实现点击Tab页切换分类商品(非AJAX)
分类:热门资源

麻烦大家的smarty难题又并发了,便是拼接字符串,其实超级轻松的,在比较久早先,大家都以用古老的措施,正是<{assign var=? value=?}>然后再来完毕字符串的拼凑,其实有三个大约好用的主意正是“|cat:”
<{foreach item=i from=$abc}>
    <{foreach item=j from=$def}>
          <img src="<{$i.floder|cat:130_|$j.picname}>" />
    <{/foreach}>
<{/foreach}>
就这样,轻巧好用,不过有个别时候依然要用到<{assign}>方法,水来土掩吧

php code:

事例:首页完成展现子分类商品,并实现点击Tab页切换分类商品(非AJAX)

     <?
require("setup.php");
define('PAGETITLE','pagtitle');
function insert_top($lid,$sid)
{
 echo "insert function";
}
$smarty=new SmartyRebuild();
$smarty->assign('name','Linux');
$smarty->assign('title','在线有有要有温润是是非非要要'卡塔尔;
$smarty->assign('english_word','my name x4 is linux');
$smarty->assign('money','344.2223');
$smarty->assign('member',array('fax'=>'010-95888484','email'=>'linux@admin.com',
     'phone'=>array('home'=>'8488484','mobil'=>'5325325325353')));
$tempMember=array();
$tempMember['member']='dsgads';
$tempMember["phone"]["home"]="444333";
$contacts=array();
$contacts[]["fax"]="435454";
$contacts[]["phone"]="223523523";
$contacts[]["fax"]="42532532";
$contacts[]["phone"]="7888888";
$contacts2=array(array('fax'=>'32523','phone'=>'325132532'),array('fax'=>'2313532','phone'=>'325325132523'));
$contacts3=array();
$contacts3[0]="23523";
$contacts4=array();
$contacts4[0][0]="23523";
$contacts4[0][1]="23523";
$contacts3[1]="23523";
$contacts4[1][0]="23523";
$contacts4[1][1]="23523";
$contacts3[2]="23523";
$contacts4[2][0]="23523";
$contacts4[2][1]="23523";
$contacts3[3]="23523";
$contacts4[3][0]="23523";
$contacts4[3][1]="23523";
$smarty->assign('contacts',$contacts);
$smarty->assign('contacts2',$contacts2);
$smarty->assign('contacts3',$contacts3);
$smarty->assign('contacts4',$contacts4);
$smarty->assign('tempmember',$tempMember);
$smarty->display('index.tpl');
?>

开始:

 

   1. 开采调节和测量试验开关

smarty code:

    文件地点:include/cls_template.php 找到 :

     

    

{config_load file='config.conf'}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE>Smarty学习</TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>

 function _eval($content)

 <BODY>
 {capture name=banner}{*注明掉中间显示内容*}
 {include file="banner.tpl"}
 {/capture}
 {include file="banner.tpl" title="Smarty学习"}
{$smarty.get.page}<br/>
{$smarty.post.page}<br/>
{$smarty.cookies.name}<br/>
{$smarty.server.SERVER_NAME}<br/>
{$smarty.env.PATH}<br/>
{$smarty.session.id}<br/>
{$smarty.request.username}<br/>
{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}<br/>
{$smarty.const.PAGETITLE}{*常量*}<br/>
Hello {$name}{*变量*}<br/>
{html_select_date display_days=yes}<br/>
{$member.fax}<br/>
{$member.phone.home}<br/>
{$tempmember.member}<br/>
{$tempmember.phone.home}{*多维数组*}<br/>
{#error_message#}{*布署文件属性*}<br/>
{$name|lower}{*smarty字符串函数*}<br/>
{$name|upper}{*smarty字符串函数*}<br/>
{'now'|date_format:'%Y-%m-%d'}{*smarty日期函数*}<br/>
{$title|truncate:11:"..."}{*截断字符串超长加...*}<br/>
{mailto|lower address="mailto:linux@admin.com%22%7D%7B*mailto邮件*}<br/>
mailto:%7B$tempmember%7C@count}{*数码的总和*}<br/>
{$english_word|capitalize}{*首字母大写*}<br/>
{$english_word|capitalize:true}{*种种单词的首字母大写*}<br/>
{$title|count_characters:true}{*字符串的长短加true字符空格,不加true不划算空格*}<br/>
{$title|cat:'字符串后投入字符'}{*拼接字符串*}<br/>
{$title|count_words}{*计算字符数量*}<br/>
{$title2|default:"dsgadsgds"};{*假定变量子虚乌有就输出暗中同意值*}<br/>
{$english_word|escape:html}{*将字符串中的HTML转换为HTML编码方式*}<br/>
{$english_word|escape:htmlall}{*将字符串中的HTML调换为HTML编码方式*}<br/>
{$english_word|escape:url}{*将字符串中的HTML转变为U凯雷德L编码方式*}<br/>
{$english_word|escape:quotes}{*将字符串中的HTML调换为HTML编码方式*}<br/>
{$title|indent:100}{*缩进钦赐宽度*}<br/>
{$title|regex_replace:"/要/":"爱"}{*正则表明式替换字符*}<br/>
{$title|replace:"要":"爱"}{*Replace替换字符*}<br/>
{$english_word|spacify:"||"}{*分隔字符串*}<br/>
{$money|string_format:"%.2f"}{*格式化数字为Float数*}<br/>
{$money|string_format:"%d"}{*格式化数字为INT数*}<br/>
{$english_word|strip:" "}{*交替空格*}<br/>
{$english_word|strip_tags:false}{*交替标签*}<br/>
{$english_word|truncate:10:"..."}{*截取钦赐长度字符,暗许截取80字符长度*}<br/>
{$english_word|wordwrap:10}{*多少长度后字符串换行,暗中认可换行长度为80*}<br/>
{$english_word|upper|spacify|truncate:30:"..."}{*斯Matty帮衬两个函数的构成,此构成为字符串先大写然后分隔然后截取钦命长度*}<br/>
{foreach name=outer item=contact from=$contacts}{*foreach循环数组*}
  {foreach key=key item=item from=$contact}
  {$key}:{$item}<br/>
  {/foreach}
 {/foreach}
 {foreach name=outer item=contact2 from=$contacts2}
  {foreach key=key item=item from=$contact2}
  {$key}:{$item}<br/>
  {/foreach}
 {/foreach}
 {include_php file="function.php"}{*含蓄钦命的PHP文件*}
 {insert name="top" lid="toplid" sid="topsid"}{*调用insert_top PHP函数,函数参数为lid和sid的值*}
 {if 1 eq 1}{*规范推断语句*}
  1=1
 {elseif 1 ne 1}
  1!=1
 {elseif 1 gt 1}
  1>1
  {elseif 1 lt 1}
  1<1
  {elseif 1 gte 1}
  1>=1
  {elseif 1 lte 1}
  1<=1
  {elseif not 1 eq 1}
  not 1=1
  {elseif (1 mod 1) eq 1}
  <font color="red">1%1=1</font>
  {else}
  你的品质真不佳
  {/if}
 {ldelim}function insert_top {rdelim} is insert_top {*出口中括号*}
 {literal}{*进入少年老成段HTML,脚本代码等*}
 <script language="javascript" type="text/css">
 <!--
 function load()
 {
  alert('页面加载....'卡塔尔国;
 }
 //-->
 </script>
  {/literal}
  {*包涵后生可畏段PHP语句*}
  {php}
  echo "php代码运营";
  {/php}
  {section name=member loop=$contacts3 show=true}{*while循环 show是或不是SHOW section中的循环内容*}
   {if $smarty.section.member.first}
  first
 {/if}
 {if $smarty.section.member.last}
  last
 {/if}
 current loop rownum:{$smarty.section.member.rownum}<br/>
   current loop iteration:{$smarty.section.member.iteration}<br/>
   index:{$smarty.section.member.index} index_prev:{$contacts3[member.index_prev]} index_next:{$contacts3[member.index_next]} index:{$contacts3[member.index]} member:{$contacts3[member]}
   {section name=memberchild loop=$contacts4[member] max=2}
    memberchild:{$contacts4[member][memberchild]}
   {/section}
   total:{$smarty.section.member.total}{*数据长度或总记录数*}
  {/section}
 
 </BODY>
</HTML>

 

   函数体第风华正茂行扩大: echo($content卡塔尔;

   改写调节和测验完结后在讲授掉。

 

  1. 改过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" style="margin-top:15px;" id="CatGoods">
  <div class="span12">
    <div class="tabbable" style="position:relative;"> 
      <!--   {if $goods_cat.cat_id}   -->   //有子分类
      <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,传入获取商品消息会集
       <?php 
               $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 style="color:#C30"> <b>{$goods.market_price}</b></span></div>
              </div>
            </div>
            <!--{/foreach}-->       
          </div>
        </div>
        <!--    {/foreach}-->    
      </div>
      <!--    {else}  --> //单个分类,无下级分类
      <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 style="color:#C30"> <b>{$goods.market_price}</b></span></div>
              </div>
            </div>
            <!--{/foreach}-->
           
          </div>
        </div>
      </div>
      <!--        {/if}    -->
     
    </div>
  </div>
</div>
<script type="text/javascript">divheight("CatGoods");</script>

 

功效如下:

威尼斯正规官网 1

 

在实质上采取中,发掘多个bug:

1.后台未安装展现大类时,相会世空白分类。

2.当存在四个大类呈现的时候,第三个大类子分类呈现的都是首先个大类的末梢一个分拣的从头到尾的经过。

修正如下:

  1. 充实当前大分类ID是不是有值的论断

    增添地点:商品分类模板第风姿浪漫行cat_goods.lbi

    代码:

<!--   {if not is_null($goods_cat.id) || $goods_cat.id>0}   -->
  1. 改过获取当前ID代码。代码如下:

       <!--   {foreach from=$goods_cat.cat_id item=rec_cat1 name=f1 key=curCat}-->
    

    //这里循环获取当前商品归类ID,传入获取商品音讯集结

        <?php 
                $cid = $this->_var['curCat'];  //改为这个 
             $this ->assign('goods_cat_'.$cid, assign_cat_goods($cid, 4)); //4表示每个分类显示的商品数量,根据实际情况自己修改
             $this->assign('cat_goods_nf',$this->_var['cat_goods_'.$cid]);
      ?>
    

留意:这里的foreach中的key表示 群集中的键值,也足以说是主键,日常是集结的ID

 

本文由威尼斯在线注册平台发布于热门资源,转载请注明出处:其实有一个简单好用的方法就是,并实现点击Tab页切换分类商品(非AJAX)

上一篇:没有了 下一篇:威尼斯正规官网哪些获得数主管度只怕剖断二个数组个数呢
猜你喜欢
热门排行
精彩图文