迅睿cms列表页调用多个缩略图

不少朋友在制作迅睿cms主题模板时,可能会遇到这类布局需求,就是想在列表页调用多个缩略图(如下图所示效果)。但迅睿cms默认的缩略图只能传一张图,这种情况下,使用默认缩略图肯定无法实现这个布局需求。

那么,就需要我们做一个灵活的使用修改,迅睿cms列表页想要实现这种布局效果,有三种思路可以参考使用。

思路一、新建多图字段

操作思路

在模块中新建一个字段,字段类别为“图片专用(image)”,用这个字段当作新的缩略图字段,把默认的thumb缩略图字段禁用。

操作步骤

1、创建字段,类型选择为图片专用(image),名称为newthumb(随意命名),上传数量自己根据实际需求进行设置,比如设置为10,则表示一共可以上传10张图片。

2、禁用之前的thumb字段,禁用之前的thumb字段。

3、进入发布页面,发布文章时上传多张图。

4、列表页调用如下代码

{if dr_count($t.newthumb) >= 3}
    //3张以上就显示全部
    {loop $t.newthumb $tt}
        <img src="{dr_get_file($tt)}">
    {/loop}
    {else}
    //不满足3张的,显示一张
    <img src="{dr_get_file($t['newthumb'][0])}">
{/if}

思路二、修改thumb字段类型

操作思路

不需要新建字段,直接将原thumb字段的类型修改为“图片专用(image)”。

操作步骤

同上述思路一,直接修改类型即可,调用代码如下。

{if dr_count($t.thumb) >= 3}
    //3张以上就显示全部
    {loop $t.thumb $tt}
        <img src="{dr_get_file($tt)}">
    {/loop}
    {else}
    //不满足3张的,显示一张
    <img src="{dr_get_file($t['thumb'][0])}">
{/if}

思路三、提取详情中的图片

操作思路

迅睿cms的数据库字段分主表和附表,内容详情是content字段,这个字段在迅睿cms数据中是附表,附表数据无法直接参与循环,所以,我们在写代码时,要用到一个join=1_news_data_0 on=id,这个代码写法仅限于5万以内的数据。

操作步骤

1、列表页循环代码中加上join=1_news_data_0 on=id(news是模块名,自己根据实际需求进行修改)

2、提取详情字段中的图片,代码如下。

{module catid=$catid join=1_news_data_0 on=id order=updatetime page=1}
    //比如提取3张图片
    {php $imgs = dr_get_content_img($t.content, 3);}
    {loop $imgs $img}
        <img src="{$img}">
    {/loop}
{/module}

针对这个需求效果,上述三种思路中,推荐使用一和二,第三种作为一个扩展,了解一下就行,实际开发制作中,一般不太推荐使用,数据较少,图省事的话,可以用一下。