Dedecms 模板中心

您现在的位置: 首页 > 教程文档 > 织梦技巧 >

织梦批量自动给文章图片添加alt标签方法

来源:未知 发布时间:2017-12-07热度:
织梦dedecms系统本身是没有批量或者自动替换图片ALT标签的功能,假如你要是采集的话,就会发现大部分的文章图片是没有alt属性的 对优化来说是非常不利于的,如果要手工添加那就奔溃了,那改如何操作? 织梦5.7版自动给图片添加alt属性具体解决方法: 一. 找...

织梦dedecms系统本身是没有批量或者自动替换图片ALT标签的功能,假如你要是采集的话,就会发现大部分的文章图片是没有alt属性的 对优化来说是非常不利于的,如果要手工添加那就奔溃了,那改如何操作?
 
织梦5.7版自动给图片添加alt属性具体解决方法:
一. 找到网站Include目录下的arc.archives.class.php 文件并打开
  (模板标签:{dede:field.body/} ,如果是其它字段,可以修改$this->Fields['body'] 为其它的字段名。)
 
二. 用组合键 Ctrl+F 查找下面的这段代码
//设置全局环境变量 
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename']; 
SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');
 
三. 在以上代码下面添加以下代码即可
//替换图片Alt为文档标题 
$this->Fields['body'] = str_ireplace(array('altalt=""','alt='''),'',$this->Fields['body']); 
$this->Fields['body'] = preg_replace("@ [s]{0,}alt[s]{0,}=["'s]{0,}[sS]{0,}["'s] @isU"," ",$this->Fields['body']); 
$this->Fields['body'] = str_ireplace("<img " ,"<img alt='".$this->Fields['title']."' ",$this->Fields['body']);
 
温馨提示:这一步做一点补充,大家注意看下这段代码
<img alt='".$this->Fields['title']."'
   如果文章标题是 “新手如何推广网站” 则生成后的文章内图片的img属性就是“新手如何推广网站” ,我将其改为了下面的这段代码,使其实现图片ALT属性样式为 alt=”新手如何推广网站_lazybirdfly.com” ,这里的 _lazybirdfly.com 可以用你网站的主推关键词或网址来替换。
 <img alt='"".$this->Fields['title']."_lazybirdfly.Com'"
   这里是alt属性的替换规则,默认是替换为文章的标题,稍微转换下思路,其实也可以用tag标签或别的文章属性来代替。
 
  四. 由于使用了正则处理,会降低一些生成速度,如果数据量小,则可以忽略。

    责任编辑:好织梦