织梦实现多缩略图显示的方法、无缩略图判断

织梦CMS 9个月前 (11-14) 43次浏览 已收录 0个评论

最近养成了用 APP 浏览时事政事信息的习惯,注意到有些页面有些地方出现三张、单张或无缩略图,具体参考今日头条 APP、网易新闻 APP 等手机端。

织梦实现多缩略图显示的方法、无缩略图判断

结合 DedeCMS 做个算不上开发的教程,特别适合 PHP 初学者哦。

运用的是 array 标签,如果对该标签基础及运用不了解参考文章《织梦用 array 调用多个自定义字段并判断》。

一般列表页的标签如下:

{dede:list}
[field:array runphp='yes']
php 代码块;
[/field:array]
{/dede:list}

增加自定义字段

依次打开

后台->频道模型->内容模型管理->普通文章->添加新字段

织梦实现多缩略图显示的方法、无缩略图判断

字段为 pic1,pic2,数据类型都为图片无格式。加上默认的缩略图,一共是三张图片。

织梦实现多缩略图显示的方法、无缩略图判断

PHP 判断实现思路

新增加的两个字段为空,不输出任何内容;DedeCMS 默认缩略图为空,会输出默认的/images/defaultpic.gif 图片。只要判断这三个字段存不存在数值即可实现调用不同的模板及样式。该栏目列表页用{dede:list},首页、其他栏目列表或内容页需用{dede:arclist},对应的代码如下,注意双引号和单引号的问题。

{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}

上面已有说明,初学者尽量把代码写简洁,多而重复的代码不易修改,很容易发生错误。比如:’单引号’、”双引号”的运用、字符和变量的连接符号(.)等。以上具体样式根据自己写吧。


本文版权归湖南 SEO所有丨如需转载请注明文章出处
原文地址:https://www.wangxiaoyou.com/2654.html
喜欢 (0)
[736035566@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址