火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 3538|回复: 2

DEDE_v5.3_图集模型中"图片1","图片2"的修改办法

[复制链接]
发表于 2009-5-7 12:09:24 | 显示全部楼层 |阅读模式
注意:本人兼任DEDE官方一个小小的版主,此文为个人修改办法,非官方!请不要误会!
你可以不使用本人提供的代码,如果你使用了本人提供的代码,我就认为你愿意自行担负可能造成的错误和其它问题.


前言:DEDEV5.3时,不知道为什么会出现这样的情况.上传的图片,不管是文件模型,还是图集模型,缺省的ALT标记都变成了"图片1","图片2","图片3"。很明显,这样一点也不利于SEO,补充这样的Alt标记,无异于画蛇添足。

今天查了一下我的手机图片网收录,发生图片内容只被收录了四千页。我的娘,我的网站内容,零头也不止也这么一点。
心里一顿郁闷,然后就拿DEDE开刀了。

研究以后发现,这根本就是程序员一种严重的偷懒。因为,仅仅只需要修改两句话的代码,即可。

第一种解决办法(不推荐):
修改img.lib.php,在arc.archives.class.php读取附加表信息时,把默认的缺省指定ALt改为标题,这需要修改两个函数的参数,改动程序较多,有点麻烦,不建议大家使用。

第二种解决办法(推荐):

修改 arc.archives.class.php,搜索一下:
  1. //设置全局环境变量
  2. $this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
  3. SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');
复制代码


在下面添加一句话,看清楚,要放在这三句话下面,且不带引号。

  1. $this->Fields['imgurls'] =
  2. preg_replace("@alt=[\s'"]{0,}(图片\d+)['"]{0,}\s@i",'alt="'.$this->
  3. Fields['typename'] . $this->Fields['title']  .'"
  4. ',$this->Fields['imgurls']);
复制代码


这句话很简单,把图片地址中的alt标记替换为栏目名称或者标题。
说到这里,其它模型的处理办法也就一样了。如文章模型的Body字段也可以对应修改。

  1. $this->Fields['body'] =
  2. preg_replace("@alt=[\s'"]{0,}(图片\d+)['"]{0,}\s@i",'alt="'.$this->
  3. Fields['typename'] . $this->Fields['title']  .'"
  4. ',$this->Fields['body']);
复制代码



当然,如果你的附表里字段比较,且都要替换一次的话,以上的方法就只能叫高效了,说一下简单的办法,就是修改上面一点点的几句代码:

  1. if(is_object($cobj))
  2. {
  3. $this->Fields[$nk] = $this->ChannelUnit->MakeField($k,$row[$k],$this->GetCurTag($k));
  4. }
复制代码


改成:

  1. if(is_object($cobj))
  2. {
  3. $this->Fields[$nk] = $this->ChannelUnit->MakeField($k,$row[$k],$this->GetCurTag($k));
  4. $this->Fields[$nk] = preg_replace("@alt=[\s'"]{0,}(图片\d+)['"]{0,}\s@i",'alt="' . $this->Fields['title']  .'" ',$this->Fields[$nk]);
  5. }
复制代码


这样呢,每个附加字段都会处理一下,虽然简单,但效率较低。

最后,Ad一下小站,http://www.mmtxt.net/,美眉手机图片网,我家美眉做的(我都觉得相当漂亮),欢迎大家来PP哈。光看帖子,不送IP不回复的就太不人道主义了哈。


你可以任意转摘“DEDE_v5.3_图集模型中"图片1","图片2","图片3"的修改办法”,但请保留本文出处和版权信息。
作者:尘缘,QQ:130775,来源:http://www.4wei.cn/?p=1000115
发表于 2009-5-15 12:37:23 | 显示全部楼层
LZ 的就是N,哈哈
发表于 2009-7-16 15:12:37 | 显示全部楼层
怎么修改都不成。
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2024-11-15 10:30

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表