网络建站知识发布于分享网站

当前位置:首页>>新闻中心>>CMS教程>>dedecms教程

Dedecms实现多张缩略图调用及增加一张、三张、无缩略图判断功能

时间:2025-03-31 22:09:17    来源:    人气:0

最近,养成了一种使用APP浏览时事政事信息的习惯。在浏览过程中发现,有些页面会根据内容的不同,展示三张、单张或者无缩略图的情况。这种设计常见于今日头条APP、网易新闻APP等手机端应用。


接下来,我们将结合DedeCMS模板,分享一个适合PHP初学者的教程,帮助大家实现类似功能。


本教程主要运用的是DedeCMS中的array标签。如果你对这个标签的基础用法还不太熟悉,可以参考相关文章《dedecms用array调用多个自定义字段并判断》。


通常情况下,列表页的标签代码如下:


{dede:list}

 [field:array runphp='yes']

  php代码块;

 [/field:array]

{/dede:list}
    

为了实现多张缩略图的功能,我们需要增加自定义字段。


具体步骤如下:


依次打开:后台 -> 频道模型 -> 内容模型管理 -> 普通文章 -> 添加新字段。


这里我们新增两个字段:pic1 和 pic2,数据类型都设置为图片无格式。加上默认的缩略图字段,一共是三张图片。


以下是完整的代码示例:


{dede:arclist addfields='pic1,pic2' channelid='1'}
[field:array runphp='yes']
$depic = '/images/defaultpic.gif'; //为减少重复代码,把模板放到变量内。

//模板1:只调用标题
$con1 = '
<a class="box01" href="' . @me['arcurl'] . '">
<h2>' . @me['title'] . '</h2>
</a>
';

//模板2:调用标题,默认缩略图
$con2 = '
<a class="box02" href="' . @me['arcurl'] . '">
<h2>' . @me['title'] . '</h2>
<div class="cl">
<img src="' . @me['litpic'] . '"/>
</div>
</a>
';

//模板3:调用标题,默认缩略图,pic1,pic2
$con3 = '
<a class="box03" href="' . @me['arcurl'] . '">
<h2>' . @me['title'] . '</h2>
<div class="cl">
<img src="' . @me['litpic'] . '"/>
<img src="' . @me['pic1'] .'"/>
<img src="' . @me['pic2'] . '"/>
</div>
</a>
';

if(@me['litpic'] != $depic && @me['pic1'] !='' && @me['pic2'] !='') @me = $con3 ; //如果三种都不为空,则输出全部值
elseif(@me['litpic'] == $depic && @me['pic1'] =='' && @me['pic2'] == '') @me = $con1 ; //如果三种都为空,则输出标题
elseif(@me['pic1'] =='' || @me['pic2'] == '') @me = $con2; //如果pic1,pic2其中一个为空,则输出标题,默认缩略图
else @me = $con1; //只输出标题
[/field:array]
{/dede:arclist}
    

以上代码中,我们通过条件判断实现了不同情况下的展示效果:

  • 当三张图片都存在时,显示完整的内容(标题+三张图片)。
  • 当所有图片都不存在时,仅显示标题。
  • 当部分图片缺失时,显示标题和存在的图片。

对于初学者来说,尽量保持代码简洁是非常重要的。过多而重复的代码不仅难以维护,还容易出错。例如,单引号(')、双引号(")的正确使用,以及字符与变量之间的连接符号(.)等都需要特别注意。


最后,具体的样式可以根据个人需求进行调整。希望这篇教程能够帮助大家更好地理解和使用DedeCMS多张缩略图功能。

相关文章

  • Dedecms 删除文档时同时清除文章中图片的方法

    Dedecms 删除文档时同时清除文章中图片的方法

    在网站建设与维护的过程中,优化代码结构和功能是提升网站性能的重要步骤。本文将介绍如何通过自定义函数实现文章删除时自动清理相关资源的功能,从而提高系统的整洁性和存储效率。以下是具体的操作步骤及代码实现。首先, 在 `/include` 目录下创建一个名为 `extend.func.php` 的文件...
    2025-03-31
  • Dedecms上传图片提示302错误ERROR的解决方法

    Dedecms上传图片提示302错误ERROR的解决方法

    在进行图片上传操作时,用户可能会遇到302错误以及带有ERROR提示的图片上传失败问题。这些问题可能由多种原因引发,因此本文将对这些情况进行整理,以帮助大家更有效地定位并解决问题。 第一种情况:图片文件本身损坏。 这种情况会导致系统返回ERROR错误提示,不过发生概率较低。如果怀疑是图片损坏导致的...
    2025-03-31
  • DEDECMS模板使用教程

    DEDECMS模板使用教程

    如果您正在寻找一种高效的方法来使用Dedecms模板搭建网站或论坛,那么本文将为您提供详尽的指导。从模板解压到最终完成配置,每一步都将清晰呈现,帮助您快速掌握整个流程。 第一步:解压Dedecms模板 将下载的Dedecms模板文件解压出来,确保所有文件完整无误。如下图所示: 第二步:获取D...
    2025-03-31
  • Dedecms Dede 附加表自定义字段与主表文章关联方法

    Dedecms Dede 附加表自定义字段与主表文章关联方法

    在使用DedeCMS开发装修网站时,设计师和设计作品之间的关联是一个重要的功能需求。通常情况下,文章(作品)的内容部分存储在主表dede_addonarticle中,而自定义字段则存储在附加表dede_archives中。为了实现这一功能,可以采用以下两种方法。 ① 根据发布人调用相关文章; ...
    2025-03-31

公众号