跳转到内容

做模板组图单图无图混排的处理

点击查看大图

img

代码如下,

{qb:tag name="xxx" type="cms" rows="10"}
{if ( count($rs['picurls'])>2 )}
<li>{$rs.title}</li>
{volist name="$rs.picurls" id="vo"}
{if ($i<4)}
<li><img src="{$vo.picurl}"></li>
{/if}
{/volist}
{elseif ( $rs['picurl']!='' ) /}
<li>{$rs.title}<br><img src="{$rs.picurl}"></li>
{else /}
<em>{$rs.title}</em>
{/if}
{/qb:tag}

其中

( $rs['picurl']!='' )

代表封面图存在,封面图存在的话,就直接输出图片比如: <img src="{$rs.picurl}">

而组图的判断是

( count($rs['picurls'])>2 )

代表有3张以上的组图,以此类推,组图的判断必须放在第一位,因为他也有封面图。要显示组图的话,就要使用TP的循环标签语句,比如

{volist name="$rs.picurls" id="vo"}
{if ($i<4)}
<li><img src="{$vo.picurl}"></li>
{/if}
{/volist}

其中我们定义图片变量为 {$vo.picurl} 就代表图片网址 , 如果组图有100张,我们不可能全部显示出来,所以要加个判断,就使用了TP的条件判断标签 if

{if ($i<4)}
<li><img src="{$vo.picurl}"></li>
{/if}

代表只显示前三张,因为$i这个默认存在的变量值是每循环一次,就类加的,比如 1 2 3 4 5

想要做成今日头条那种图文混排的界面,就是用上面的方法可以实现

注意上图中组图代码部分类似如下代码有差异,以下面的为标准

{volist name="$rs.picurls" id="vo"}
{if ($i<4)}
<li><img src="{$vo.picurl}"></li>
{/if}
{/volist}