免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4563 | 回复: 20
打印 上一主题 下一主题

能帮我解决一个 smarty 的问题吗?(11月22号追加了一个问题)。。。。。。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-17 16:49 |只看该作者 |倒序浏览
用 {section} 循环:
我只会做 一个 <td>一个<td>的
或一个<tr> 一个<tr>的循环。

但是现在的问题是:
先循环显示两个<td><td>,
再向下循环<tr>.

那怎么处理呢?

[ 本帖最后由 je1024 于 2007-11-21 16:18 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-11-17 16:49 |只看该作者
或者需要加入其他什么 的语句吗?

论坛徽章:
0
3 [报告]
发表于 2007-11-17 16:56 |只看该作者
比如我只会怎么做:
{section name=app loop=$application}
<td><a href="product.php"><img src="./templates/images/uploads/{$application[app]}" /></a>
</td>{/section}

或这么做:

{section name=app loop=$application}
<tr><td><a href="product.php"><img src="./templates/images/uploads/{$application[app]}" /></a>
</td></tr>{/section}
即:

{section name=app loop=$application}
<tr><td>第一次循环</td></tr>
{/section}





假如要:

{section name=app loop=$application}
<tr><td>第一次循环</td><td>第二次循环</td></tr>
{/section}

论坛徽章:
0
4 [报告]
发表于 2007-11-17 18:12 |只看该作者
看得头晕。。。
就是先输出多列,然后再输出多行是吧。
{if}判断,条件符合则输出</tr>
下面输出2行,2列

<table border=1>
        <tr>
                {section name=sec loop=$test}
                {if $smarty.section.sec.index%2==0}
        </tr>
        <tr>
                {/if}
                <td>{$test[sec].title}</td>
                {/section}
        </tr>
</table>

[ 本帖最后由 angeljyt 于 2007-11-17 18:27 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-11-17 18:35 |只看该作者
不太对,不过小弟有点思路了
还是谢谢楼上的朋友啊。。

[ 本帖最后由 je1024 于 2007-11-17 19:35 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2007-11-17 22:06 |只看该作者
有前辈说:

{section name=sec loop=$test}
<div style="width:100px; height:100px; float:left; clear:none"> fsdfsdf </div>
{/secction}

但是小弟还是做不出效果啊。。。

论坛徽章:
0
7 [报告]
发表于 2007-11-17 23:46 |只看该作者
嗯..........


你实际运行下那段的效果,看看到底几个自动分行一次.然后知道为什么分行. 那个效果是最简单的解决方式

论坛徽章:
0
8 [报告]
发表于 2007-11-18 10:21 |只看该作者
对css一知半解,上网查了一下 float 和 clear 的用法终于有了点理解:(估计也不太对的。。。)

<div style="width:100px; height:100px; float:left; clear:none"> fsdfsdf </div>

盒子宽100,高100,元素向左浮动,下面的元素不需要紧跟上面的元素。。。

但是具体这个怎么排怎么改变 tr td 的排布,,小弟就弄不清了。。。

[ 本帖最后由 je1024 于 2007-11-18 10:23 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2007-11-18 20:48 |只看该作者
<div style="width:49%; height:100px; float:left; clear:none;  margin:10px; background-color:#FFF000"> {$wtitle[wnews]}</div>{/section}

居然这个解决了问题,,css 小弟是初次接触,看了一下手册,,,还是不太明白

width:49% 和 width:100px 的区别居然这么大,

width:49% 和 width:100px,不过又好像慢慢理解了,,,

100px 是固定的,49% 就会空出很多空间,因为 float:left; 会让下一个元素填充上一个元素留下的空间。。。

所以会产生 每行两列 的效果。

[ 本帖最后由 je1024 于 2007-11-18 20:51 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2007-11-19 10:41 |只看该作者
用css,够强,不用的话,这是你需要的吗:


  1. <table border=1>
  2.                 <tr>
  3.         {section name=sec loop=$test}
  4.                     <td>
  5.                         {$test[sec].title}
  6.                     </td>
  7.             {if $smarty.section.sec.rownum%2==0}
  8.                 </tr>
  9.                 <tr>
  10.             {/if}
  11.         {/section}
  12.                 </tr>
  13. </table>
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP