文章采集调用(列表页调用文章中的多张图片是无法实现的)
优采云 发布时间: 2021-10-18 23:00文章采集调用(列表页调用文章中的多张图片是无法实现的)
我们在使用织梦构建网站的时候,经常需要调用列表页上的文章缩略图来显示。常用的方法是使用[field:picname/]标签来调用文章的背景缩略图。但是如果要调用文章中的图片,尤其是调用文章中的多张图片,这个标签是无法实现的,需要使用织梦的功能来实现。
效果如下:
方法/步骤
第一步:将以下函数文件粘贴到/include/extend.func.php中,创建一个函数; (以下代码可能编译导致后台空白,可以直接下载这个PHP文件:链接:提取代码:gki8)
/*<br />
* 文章内容提取图片(多张)自定义输出<br />
*/<br />
if(!function_exists('getBodypics'))<br />
{<br />
function getBodypics($string, $num)<br />
{<br />
preg_match_all("/]*)\s*src=('|")([^'"]+)('|")/",$string,$matches);<br />
$imgsrc_arr = array_unique($matches[3]);<br />
$count = count($imgsrc_arr);<br />
$i = 0;<br />
foreach($imgsrc_arr as $imgsrc)<br />
{<br />
if($i == $num) break;<br />
$result .= "/spanspan style=";<br />
$i++;<br />
}<br />
return $result;<br />
}<br />
}
第2步:在列表页面的循环标签{dede:list}中添加addfields='body',如下:
{dede:list pagesize ='20' addfields='body'}
如果是首页调用,需要添加channelid='1'如下:
{dede:arclist row='11' titlelen='50' orderby='pubdate' channelid='1' addfields='body'}<br />
[field:body function=getBodypics(@me,4)/]<br />
{/dede:arclist}
第三步:使用以下标签自动调用文章中的图片;参数4代码调用的图片数量可以根据需要修改。
[field:body function=getBodypics(@me,4)/]
第四步:还需要进入DedecmsBackstage--Core--Channel Model--Content Model Management--General文章,点击进入后,点击“Additional”项列表中的字段” 在:body 中添加字段
第五步:在后台生成并更新列表页,这样只要文章中有图片,就会自动在列表页上调用。