欢迎来到传世资源网!
加载中...
正在加载,请耐心等待...

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

织梦的缩略图变形的问题一直为大家所诟病,在缩略图问题的处理上,织梦程序确实做的不大好。织梦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表中,就调用不出来,有些采集软件发布的文档就会出现这种情况。更好的方式是直接调用文档内容,然后正则匹配文档中的图片地址,这种方法在以后的文章中再说。

下载声明:

本站资源均有第三方用户自行上传分享推荐,非本站自制,仅供玩家做交流学习之用!切勿用于商业用途!游戏作品版权归原作者享有,如有版权问题,请附带版权证明至邮件,本平台将应您的要求删除。
相关推荐:教程

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复