php调用文章前3张图片,DedeCMS调用图集文章模型多张图片

经常逛新闻信息类移动站或APP会发现,首页或列表采用AJAX无限加载的方法,看到你不想看为止,每条新闻有一张或三张配图,从用户的角度,看图比看文字更有吸引力些,采用DedeCMS做新闻信息类也是非常受欢迎,但默认只能加载一张缩略图,看看实现三张配图的做法。

调用图集模型前三张图片做法

打开/include/taglib/arclist.php,找到

$row['plusurl'] = $row['phpurl'] = $GLOBALS['cfg_phpurl'];

$row['memberurl'] = $GLOBALS['cfg_memberurl'];

$row['templeturl'] = $GLOBALS['cfg_templeturl'];

后面添加,根据自己的实际数据库前缀修改橙色字段

$arrs = $dsql->GetOne("SELECT imgurls FROM `dede_addonimages` WHERE aid={$row['id']} ");

if(is_array($arrs)){

$m="/ddimg=\'(.*)\'/U";

if(preg_match_all($m,$arrs['imgurls'],$pregArr)){

$row['one']=preg_replace($m,'\\1',$pregArr[0][0]);

$row['two']=preg_replace($m,'\\1',$pregArr[0][1]);

$row['three']=preg_replace($m,'\\1',$pregArr[0][2]);

}

}

前台调用多张缩略图

{dede:arclist}

%5D //第1张图片的地址

%5D //第2张图片的地址

%5D //第3张图片的地址

{/dede:arclist}

调用文章模型前三张图片做法

文章模型能自动获取文章的第一张图为缩略图,也有些资源修改方法,这里介绍用频道内容模型管理增加自定义字段掉用多张图的方法,参考DedeCMS如何添加自定义字段与前台调用。

d4eeff92c4bed58dfa1716dd70f534c8.png

如果后面需要增加说明性的文字,就需要在该字段的自定义表单HTML填写具体的HTML源代码,

自定义表单HTML用~name~表示提示文字,~form~表示表单元素

83eef08665e2a4807bdd46092bee74c1.png

前台用{dede:field.pic1/}调用,不是出现图片地址,而是出现

{dede:img text='' width='270' height='129'}http://www.vi586.com/uploads/101017/1-10101H21F54P.gif{/dede:img}

这是DedeCMS处理方式的问题,参考文章DedeCMS内容页列表页调用自定义图片地址,创建 GetOneImgUrl函数,处理完了之后。

内容页调用多张缩略图

{dede:field.pic1 function='GetOneImgUrl(@me,0)'/}

p><p>%24query=%20

$row = $dsql->GetOne($query);

$preg = "//i";

preg_match_all($preg, $row['anlsm'], $match);

//print_r($match);

return $match[1][0];

}

//取第二张地址

function GetSecImg($arcid){

global $dsql;

$query= "SELECT anlsm FROM `dede_addon7` where aid='$arcid'";

$row = $dsql->GetOne($query);

$preg = "//i";

preg_match_all($preg, $row['anlsm'], $match);

//print_r($match);

return $match[1][1];

}

//取第三张地址

function GetThirImg($arcid){

global $dsql;

$query= "SELECT anlsm FROM `dede_addon7` where aid='$arcid'";

$row = $dsql->GetOne($query);

$preg = "//i";

preg_match_all($preg, $row['anlsm'], $match);

//print_r($match);

return $match[1][2];

}

打开include/taglib/arclist.lib.php,找到如下代码(大概在第514行):

$row['fulltitle'] = $row['title'];

在下面添加代码:

$row['firstimgurl'] = GetFirstImg($row['id']);

$row['secondimgurl'] = GetSecImg($row['id']);

$row['thirdimgurl'] = GetThirImg($row['id']);

调用标签为:

%5D//第一张图片

%5D//第二张图片

%5D//第三张图片

如果你自定义的字段中没图片,获取的地址就是空的。

扩展阅读

本文地址:https://www.vi586.com/web/376.html

版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值