如何在织梦DedeCMS中调用图片集的第一张图片?
- 行业动态
- 2024-10-25
- 1
修改include/extend.func.php文件,添加函数firstimg($str_pic),然后在模板中调用[field:litpic function=firstimg(‘@me’)/]。
在织梦Dedecms(DedeCMS)系统中,调用文章或图片集的第一张图片是一个常见需求,这通常涉及到对系统源代码的修改,以实现非缩略图的调用,以下是详细的步骤和代码示例:
调用文章第一张图片(非缩略图)
步骤一:修改include/extend.func.php 文件
1、打开include/extend.func.php 文件。
2、在文件末尾添加以下函数:
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]; }
此函数通过正则表达式匹配文章正文中的第一个<img> 标签,并返回其src 属性的值,即第一张图片的URL。
步骤二:修改模板文件
1、找到需要调用文章第一张图片的模板文件,如列表页模板list_article.htm。
2、在适当的位置添加以下代码:
{dede:field.body function="GetFirstImg(@me)"/}
或者,如果使用的是标签调用方式,可以这样写:
<img src="{$dede:field.body function='GetFirstImg(@me)'}" alt="">
调用图片集的第一张图片(非缩略图)
步骤一:修改include/extend.func.php 文件
与调用文章第一张图片类似,但需要针对图片集进行修改,可以在include/extend.func.php 文件中添加另一个函数:
function GetGalleryFirstImg($aid) { global $dsql; $query = "SELECT imgurls FROMdede_addonimages WHERE aid='$aid'"; $row = $dsql>GetOne($query); $preg = "/{.+jpg}/i"; // 根据实际图片集格式调整正则表达式 preg_match_all($preg, $row['imgurls'], $match); return $match[0][0]; // 返回第一张图片的URL }
步骤二:修改模板文件
1、找到需要调用图片集第一张图片的模板文件,如内容页模板article_article.htm。
2、在适当的位置添加以下代码:
{dede:field.body function="GetGalleryFirstImg(@me)"/}
或者,使用标签调用方式:
<img src="{$dede:field.body function='GetGalleryFirstImg(@me)'}" alt="">
表格示例
操作步骤 | 文件路径 | 代码示例 |
步骤一 | include/extend.func.php | function GetFirstImg($arcid) { ... } |
步骤二 | list_article.htm | {dede:field.body function="GetFirstImg(@me)"/} |
步骤三 | include/extend.func.php | function GetGalleryFirstImg($aid) { ... } |
步骤四 | article_article.htm | {dede:field.body function="GetGalleryFirstImg(@me)"/} |
FAQs
Q1: 如何在织梦Dedecms中调用文章的第一张图片(非缩略图)?
A1: 在include/extend.func.php 文件中添加一个名为GetFirstImg 的函数,该函数通过正则表达式匹配文章正文中的第一个<img> 标签,并返回其src 属性的值,然后在需要调用文章第一张图片的模板文件中,使用{dede:field.body function="GetFirstImg(@me)"/} 或相应的标签调用方式来显示图片。
Q2: 如何在织梦Dedecms中调用图片集的第一张图片(非缩略图)?
A2: 同样地,在include/extend.func.php 文件中添加一个名为GetGalleryFirstImg 的函数,该函数针对图片集的字段进行查询和正则表达式匹配,以获取第一张图片的URL,然后在需要调用图片集第一张图片的模板文件中,使用类似的标签调用方式来显示图片,需要注意的是,正则表达式应根据实际的图片集格式进行调整。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/163952.html