如何在dede中调用文章内的第一张原始图片(非缩略图)?

使用dede的标签{dede:field name=’body’/}可以调用文章内容,然后通过正则表达式匹配第一张原始图片的地址。

在DedeCMS(织梦内容管理系统)中,调用文章内第一张原始图片而非缩略图,是一个常见的需求,本文将详细介绍实现这一功能的步骤和方法,确保内容准确、排版精美、逻辑清晰。

如何在dede中调用文章内的第一张原始图片(非缩略图)?

方法一:修改include/extend.func.php文件

1、找到并打开文件

进入DedeCMS根目录,找到“include”文件夹。

使用Dreamweaver软件或记事本打开“extend.func.php”文件。

2、在文件末尾添加函数

“`php

//取第一张图地址

function firstimg($str_pic) {

$str_sub = substr($str_pic, 0, 7) . ".jpg"; //删除缩略图字符串最后七位,然后再补上后缀.jpg

return $str_sub;

}

“`

3、保存文件

4、在模板中调用

使用以下代码在HTML模板中进行调用:

“`html

[field:litpic function=’firstimg(@me)’/]

“`

或者:

“`html

{dede:field name=’litpic’ function="firstimg(@me)"/}

“`

方法二:使用正则表达式匹配第一张图片

1、找到并打开文件

进入DedeCMS根目录,找到“include”文件夹。

如何在dede中调用文章内的第一张原始图片(非缩略图)?

使用Dreamweaver软件或记事本打开“extend.func.php”文件。

2、在文件末尾添加函数

“`php

function GetFirstImg($arcid){

global $dsql;

$query = "SELECT body FROMdede_addonarticle where aid=’$arcid’";

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

$preg = "/<img.*?src=[‘"](.+?)[‘"].*?>/i";

preg_match_all($preg, $row[‘body’], $match);

return $match[1][0];

}

“`

3、保存文件

4、在模板中调用

使用以下代码在HTML模板中进行调用:

“`html

[field:litpic function=bigimg(‘@me’)/]

“`

或者:

“`html

{dede:field name=’litpic’ function="bigimg(@me)"/}

“`

方法三:修改调用标签文件

1、找到并打开文件

进入DedeCMS根目录,找到“include/taglib/arclist.lib.php”文件。

如何在dede中调用文章内的第一张原始图片(非缩略图)?

2、在文件中找到并修改函数

找到function lib_arclistDone()函数。

在$row[]数组的下面加入以下代码:

“`php

if(GetFirstImg($row[‘id’]) != "") {

$row[‘firstimg’] = GetFirstImg($row[‘id’]);

}

“`

3、保存文件

4、在模板中调用

使用以下代码在HTML模板中进行调用:

“`html

{dede:field name=’firstimg’/}

“`

相关问答FAQs

问题1:为什么需要修改include/extend.func.php文件?

解答:include/extend.func.php文件中包含了DedeCMS的一些扩展函数,通过在这个文件中添加自定义函数,可以实现一些特殊的功能需求,比如调用文章的第一张原始图片,这种方法可以灵活地对文章内容进行处理,满足不同的展示需求。

问题2:如果文章中没有图片怎么办?

解答:如果文章中没有图片,上述方法可能会返回空值,为了避免这种情况,可以在模板中设置一个默认的图片路径,当获取不到第一张图片时,显示默认图片。

{dede:field name='litpic' function="firstimg(@me)" default="path/to/default/image.jpg" /}

这样即使文章中没有图片,也能保证页面的正常显示。

通过以上步骤,你可以在DedeCMS中成功调用文章的第一张原始图片,而不是缩略图,希望这些方法对你有所帮助!

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1108730.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-09-30 13:02
下一篇 2024-09-30 13:03

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入