DedeCMS为文章图片自动添加ALT属性为标题
织梦默认的文章图片属性是要自己手动添加的,否则为空,这对网编来说太过于麻烦,而seo又要求图片alt属性一定要全,文章图片的alt属性一般跟标题一样。
所以余斗就想办法实现了自动添加图片的alt属性,属性内容为文章标题,具体方法为:
修改文件:Include/ arc.archives.class.php
模板标签:
{dede:field.body/}
如果是其它字段,可以修改
$this->Fields['body']
效率说明:使用了正则处理,会降低一些生成速度,如果数据量小,则可以忽略。
修改方法:
首先查找打开include/ arc.archives.class.php
查找:
//设置全局环境变量
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');
$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('alt=""','alt=\'\''),'',$this->Fields['body']);
$this->Fields['body'] = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$this->Fields['body']);
$this->Fields['body'] = str_ireplace("<img " ,"<img alt='".$this->Fields['title']."' ",$this->Fields['body']);
$this->Fields['body'] = str_ireplace(array('alt=""','alt=\'\''),'',$this->Fields['body']);
$this->Fields['body'] = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$this->Fields['body']);
$this->Fields['body'] = str_ireplace("<img " ,"<img alt='".$this->Fields['title']."' ",$this->Fields['body']);
保存,然后重新生成文章,即可实现文章中图片ALT属性自动以文章标题添加的功能。
-
为其它的字段名。
上一篇:DedeCMS使likearticle标签支持排序orderby 下一篇:DedeCMS使用扩展函数调用任意数据表的方法