织梦判断有缩略图显示,无缩略图就提取文章内容第一张图片

简介:织梦不能自动提取第一张图片为缩略图怎么办,织梦列表页有缩略图时则显示缩略图,无缩略图提取文章内容第一张图片为缩略图,织梦缩略图加入床图引用的方法。

织梦CMS调用文章第一张图片非缩略图教程。看了一下之前写的《有缩略图显示无缩略图就不显示》还有网上的教程,基本都是一个样,都是这么调用的,毫无新意。下面,小千就给大家来整个带创意的调用标签,让你的网站变得马上就开始不一样了,至少,我都是这么写调用标签的,直接上教程。

写个方法

织梦判断有缩略图显示,无缩略图就提取文章内容第一张图片-小千织梦模板

织梦的封装自定义函数文件在 /include/extend.func.php 文件,当然,不止是这一个,也可以单独的在某个PHP里面加方法就行。先整这个简单的。

打开 /include/extend.func.php 在最下面加入代码

//提取第一张缩略图
if(!function_exists('pic'))
{
	function pic($id, $addField='body')
	{
		global $dsql;
		$row = $dsql->GetOne("SELECT a.litpic,a.title,a.id,c.addtable FROM `#@__archives` AS a LEFT JOIN `#@__channeltype` AS c ON a.channel=c.id where a.id='{$id}'");
		$title = $row['title'];
		$id = $row['id'];
		$litpic = $row['litpic'];
		$arurl = GetOneArchive($id);
		$link = $arurl['arcurl'];
		$addtable = trim($row['addtable']);
		if($row['litpic'] == '/images/defaultpic.gif' || $row['litpic'] == '')
		{
			$litpic = '';
		}
		//如果缩略图不为空
		if (!empty($litpic)){return $litpic;exit;}
		//获得缩略图结束继续执行
		
		
		$row = $dsql->GetOne("SELECT {$addField} FROM `{$addtable}` WHERE aid={$id}");
		$body = $row["{$addField}"];
		preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/",$body,$matches);
		$imgsrc_arr = array_unique($matches[3]);
		//$imgsrc_arr2 = array_unique($matches[3]);
		$result = $imgsrc_arr[0];
		//如果文章模型内容图片获取到图片
		if (!empty($result)){return $result;exit;}
		//获得文章内容第一张图片结束继续执行
		
		
		$row = $dsql->GetOne("SELECT introduce FROM `{$addtable}` WHERE aid={$id}");
		$introduce = $row["introduce"];
		preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/",$introduce,$matintroduce);
		$imgsrc_atintro = array_unique($matintroduce[3]);
		$resultpic = $imgsrc_atintro[0];
		//如果软件模型内容获取到图片
		if (!empty($resultpic)){return $resultpic;exit;}
		//获得软件内容第一张图片结束继续执行
		
		
		//获取随机床图
		/*
		  //这里可以写一个获取随机床图的方法
		*/
		
		
		// 最后 上面都没有提取到缩略图
		$suijipic = '/images/defaultpic.gif';
		//那就是真的没有图片可用了,就用默认的缩略图吧
		return $suijipic;
	}
}

方法就是这么简单。上面已经获取了标题、链接、图片,大家可以把这个方法再改造一下,把描述、时间,都整进来,就可以包含整个标签了。

调用标签

[field:id function=pic(@me)/]

举个例子

<a href="[field:arcurl/]"> <img src="[field:id function=pic(@me)/]" alt="[field:title function='html2text(@me)'/]"> </a>

这灵活的调用标签,大家可以自由想象,充分发挥你的优势,这个代码值得借鉴。

这篇文章由《织梦爱好者》发布在《小千织梦模板》网的,主要是为大家详细介绍了织梦判断有缩略图显示,无缩略图就提取文章内容第一张图片,感谢织梦爱好者分享这篇具有一定参考价值的织梦教程,感兴趣的小伙伴们可以参考一下教程,有需要的朋友可以收藏方便以后借鉴。

以上便是小千给大家分享的织梦判断有缩略图显示,无缩略图就提取文章内容第一张图片,希望对大家有所帮助,如果想了解更多织梦教程、织梦二次开发教程,请关注小千资源网吧~

版权声明:本文为博主原创文章,未经博主允许不得转载。http://nikucms.com/w/999.html

织梦教程2023-05-15

织梦爱好者

织梦爱好者织梦爱好者注册会员

没有挖不倒的墙角,只有不努力的小三!

优惠券