继续提问  真心纠结html 里面用了foreach  smarty模板
得出$k的值A:如果$k有4个值
1  2  3  4
让它的排列方式变成
1  |  2
3  |  4
(注意中间有根西线)B:如果$k有1个值
1
让它的排列方式变成
1 我自己的源代码{{foreach from=$i->value key=key item=k}}
<table width="100%">
<tr><td width="50%"><span style="font-size:x-small;">{{$k}}</span></td></tr>
</table>
{{/foreach}}
请问应该怎么排版才能实现A和B的效果

解决方案 »

  1.   

    {{foreach from=$i->value key=key item=k}}
    <table width="100%">
    <tr><td width="50%"><span style="font-size:x-small;">
      {{foreach from=k key=_key item=k_value}}
         {{if $_key % 2 == 1}} | {{/if}}
         $k_value
         {{if $_key % 2 == 1}} <br/> {{/if}}
      {{/foreach}}</span></td></tr>
    </table>
    {{/foreach}}
      

  2.   


    没有想要的效果啊  直接把 $k_value 打印出来了  打印出来的东西就是"$k_value"
      

  3.   

    改成这中形式还是不行啊<table width="100%"><tr>
    {{foreach from=$i->skills_id key=key item=k name="ilist"}}
    <td width="50%">
    <div style="text-align:center;"><span style="font-size:x-small;">      {{foreach from=$k key=_key item=k_value}}
          {{if $_key % 2 == 1}} | {{/if}}
          {{$k_value}}
          {{if $_key % 2 == 1}} <br/> {{/if}}
          {{/foreach}}</span></div>
    </td>
    {{if $smarty.foreach.ilist.index%2}}
    </tr>
    <tr>
    {{/if}}
    {{/foreach}}
    </tr></table>
    <hr />
    {{/foreach}}
      

  4.   


    A:如果$k有4个值(两个值同理)
    1 2 3 4
    让它的排列方式变成
    1 | 2
    3 | 4
    (注意中间有根西线)B:如果$k有1个值
    1
    让它的排列方式变成
    1  C:如果$k有3个值
    1 | 2
    3应该是比较简明的一个效果了  
      

  5.   


    A:如果$k有4个值(两个值同理)
    1 2 3 4
    让它的排列方式变成
    1 | 2
    3 | 4
    (注意中间有根西线)B:如果$k有1个值
    1
    让它的排列方式变成
    1  C:如果$k有3个值
    1 | 2
    3应该是比较简明的一个效果了  
      

  6.   


    A:如果$k有4个值(两个值同理)
    1 2 3 4
    让它的排列方式变成
    1 | 2
    3 | 4
    (注意中间有根西线)B:如果$k有1个值
    1
    让它的排列方式变成
    1  C:如果$k有3个值
    1 | 2
    3应该是比较简明的一个效果了  
      

  7.   

    <div style="width:150px;">
    {{foreach from=$i->value item=value name=fr}}
    {{if $smarty.foreach.fr.index%2==0}}
    {{$value}}
    {{if $i->value|count!=1}}
    |
    {{/if}}
    {{else}}
    {{$value}}</br>
    {{/if}}
    {{/foreach}}
    </div>
    这样试试
      

  8.   

       效果要居中。这个跟SMARTY就没关系了。你设置STYLE里的margin:0,auto,IE下align='center'
       
    两个元素显示 1|2 左对齐了
    四个元素显示 1 | 23 | 4 没有换行  
    什么左对齐又对齐的,这个不是SMARTY能控制的,是HTML/CSS部分来处理!
    四个元素,array(1,2,3,4)只要放数组里就不可能会显示成这样:1 | 23 | 4 
      

  9.   


    {{foreach from=$_k key=key item=k name=xunhuan}}{{$k}}{{if $key % 2 == 0 && $smarty.foreach.xunhuan.last == false}}  | {{else}} <br> {{/if}}{{/foreach}}
      

  10.   

    http://topic.csdn.net/u/20110504/14/05e7e846-c334-4fc3-9a16-ad0ff9132251.html
    看看上次我回答你的,一样的道理,怎么换一种形式你就不会了!!!!