织梦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=”新手如何推广网站_vevb.com” ,这里的 _vevb.com 可以用你网站的主推关键词或网址来替换。
<img alt='"".$this->Fields['title']."_vevb.com'"
这里是alt属性的替换规则,默认是替换为文章的标题,稍微转换下思路,其实也可以用tag标签或别的文章属性来代替。
四. 由于使用了正则处理,会降低一些生成速度,如果数据量小,则可以忽略。
以上就是织梦CMS批量自动给文章图片添加alt标签方法的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。新闻热点
疑难解答