织梦dedecms商业教程 DedeCMS如何调取文章正文图片

织梦dedecms商业教程 DedeCMS如何调取文章正文图片

学习教程tuzi2018-11-13 15:49:45A+A-

织梦的缩略图变形的问题一直为大家所诟病,在缩略图问题的处理上,织梦程序确实做的不大好。织梦DedeCMS对缩略图的处理方式是按比例对正文的第一张图片进行缩放的,如果图片尺寸与缩略图的尺寸不符合,就会造成图片挤压或者拉伸从而失真。有一种解决的办法是采用裁切的方式,按固定的比例对图片剪裁,来解决缩略图失真的问题,这种方法可以去看织梦DedeCms5.7缩略图变形解决方法一文。

  今天主要是整理下织梦DedeCMS调取文章正文图片的方法,虽然在织梦DedeCms批量提取第一张图片为缩略图一文中也谈到了文章正文图片的调用,但是哪个是重新生成缩略图的。今天的这个方法则是调用正文中的第一张图片,以便有足够大、足够清新的图来进行一些特效、幻灯等的效果处理。实现的方法可以使用织梦的SQL标签,也可以自定义函数来进行处理。原理是织梦文章的图片路径都是存储在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.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:id function="simgs(@me)"/]

  这个函数默认是调用三张正文图片,可以自己根据情况调整数量和显示的样式等信息。这种调用的方式有一些缺点,就是如果图片的路径没有保存到dede_uploads表中,就调用不出来,有些采集软件发布的文档就会出现这种情况。更好的方式是直接调用文档内容,然后正则匹配文档中的图片地址,这种方法在以后的文章中再说。

点击这里复制本文地址

声明

本站发布所有广告信息、下载资源,均来自互联网,非本站自制,与本站无关。 如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。


本站中所有资料、资源文件均来自于网络搜索,仅作为技术学习研究之用,请必须在24小时内删除所下载文件,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。


本站保证站内提供的所有可下载资源(软件等等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 


访问本站的用户必须明白,[资源爱好者]对提供下载的软件等不拥有任何权利,其版权归该下载资源的合法拥有者所有。


本站所有资源均不提供相关技术服务,如果源码下载地址失效则请联系站长进行补发。


本站所有资源展现图片仅供参考

资源爱好者 © 本站发布所有资源,均来自互联网,非本站自制,分享目的仅供大家学习与参考,与本站无关。
如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。邮箱:admin?aihao.org
关于我们|广告合作|网站地图|冀ICP备14009590号|冀公网安备 13018302000072号