织梦cms的缩列图形变的难题一直为大伙儿所抨击,在缩列图难题的解决上,织梦cms程序流程的确做的不太好。织梦cmsDedeCMS对缩列图的处理方法是按占比对文章正文的第一张照片开展放缩的,假如图片大小与缩列图的规格不符,便会导致照片挤压成型或是拉申进而失帧。有一种处理的方法是选用裁剪的方法,按固定不动的占比对图片剪裁,来处理缩列图失确实难题,这类方式 能够 去看看织梦cmsDedeCms5.7缩列图形变解决方案一文。
今日主要是梳理下织梦cmsDedeCMS读取正文照片的方式 ,尽管在织梦cmsDedeCms大批量获取第一张照片为缩列图一文中也提到了正文照片的启用,可是哪一个是再次转化成缩列图的。今日的这一方式 则是启用文章正文中的第一张照片,便于有充足大、充足清爽的图来开展一些动画特效、幻灯片图片等的实际效果解决。完成的方式 能够 应用织梦cms的SQL标识,还可以自定义函数来开展解决。基本原理是织梦cms文章内容的照片相对路径全是储存在dede_uploads表(默认设置作为前缀)里边的,实际的SQL标识启用能够 参照下织梦cmsDedeCMS模版标识sql启用代码大全一文。
下边关键说一下选用自定义函数完成启用正文內容照片的方式 。在include文件目录下的helpers文件夹名称中的extend.helper.php文件中加上以下的涵数:
/**
*多缩列图软件
*
* @return string
*/
if( ! function_exists('simgs'))
{
function simgs($aid){
global $dsql;
$arcRow = GetOneArchive($aid);
$docdir =$arcRow[typedir];
$docurl = str_replace('{cmspath}','http://www.abc.com',"$docdir");
$sql = "SELECT url FROM dede_uploads WHERE arcid='$aid' ORDER BY aid DESC LIMIT 3";
$dsql->SetQuery($sql);
$dsql->Execute();
while ($row = $dsql->GetArray()) {
$spics .= "<a href="".$docurl."/$arcRow[aid].html"><img alt="$arcRow[title]" src="$row[url]"></a>";
}
return $spics;
}
}
留意把改动给自己的网站域名。在主页或是频道栏目网页页面的模版中应用以下的启用方法启用正文照片。
[field:idfunction="simgs(@me)"/]
这一涵数默认设置是启用三张文章正文照片,能够 自身依据状况调节总数和显示信息的款式等信息内容。这类启用的方法有一些缺陷,便是假如照片的相对路径沒有储存到dede_uploads表格中,就启用不出来,一些采集工具公布的文本文档便会出現这类状况。更强的方法是立即启用文本文档內容,随后正则匹配文本文档中的图片地址,这类方式 在之后的文章内容中再聊。