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

点击查看大图

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

代码如下,

  1. {qb:tag name="xxx" type="cms" rows="10"}
  2. {if ( count($rs['picurls'])>2 )}
  3. <li>{$rs.title}</li>
  4. {volist name="$rs.picurls" id="vo"}
  5. {if ($i<4)}
  6. <li><img src="{$vo.picurl}"></li>
  7. {/if}
  8. {/volist}
  9. {elseif ( $rs['picurl']!='' ) /}
  10. <li>{$rs.title}<br><img src="{$rs.picurl}"></li>
  11. {else /}
  12. <em>{$rs.title}</em>
  13. {/if}
  14. {/qb:tag}

其中

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

代表封面图存在,封面图存在的话,就直接输出图片比如: 做模板组图单图无图混排的处理 - 图2

而组图的判断是

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

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

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

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

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

复制

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

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

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

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