-
01月25日
-
今天做了工艺品网站,发现[field:id function="simgs(@me)"/]标签不知道怎么用,由于模板时别人的,哪里有个网址不知道怎么改成自己的,于是我在网上找了又找,找不到在哪里改,织梦的缩略图变形的问题一直为大家所诟病,在缩略图问题的处理上,织梦程序确实做的不大好。织梦DedeCMS对缩略图的处理方式是按比例对正文的第一张图片进行缩放的,如果图片尺寸与缩略图的尺寸不符合,就会造成图片挤压或者拉伸从而失真。有一种解决的办法是采用裁切的方式,按固定的比例对图片剪裁,来解决缩略图失真的问题,后来吻戏高手,才知道是这样子的,现在跟大家分享下,原理是织梦文章的图片路径都是存储在dede_uploads表(默认前缀)里面的,具体的SQL标签调用可以参考下的织梦DedeCMS模板标签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.seoxxw.net',"$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 .= "";
}
return $spics;
}
} 注意把http://www.seoxxw.net修改为自己的域名。。否则到时候不可以!
[field:id function="simgs(@me)"/]
这个函数默认是调用三张正文图片,可以自己根据情况调整数量和显示的样式等信息。这种调用的方式有一些缺点,就是如果图片的路径没有保存到dede_uploads表中,就调用不出来,有些采集软件发布的文档就会出现这种情况。更好的方式是直接调用文档内容,然后正则匹配文档中的图片地址,这种方法淘购网在以后的文章中再说。除非注明,文章均为本站原创,转载请注明出处,谢谢。