需求:帝国CMS系统为自动为图片的alt标签加内容
详情:当我们使用帝国系统后台的文本编辑器添加文章时,最常用的就是为文章导入图片,在导入图片后,文本编辑器会为每个图片加上alt标签,这个在写文章时点开文本编辑器又上角的源码就能看到了。所以我们想为alt标签的属性值添加内容就要进入源码模式修改。
现在有一种系统自动添加的方法,可以省略这一步。
这个方法将实现两个功能
1:为每篇文章的正文图片的alt标签加上内容,内容为我们这片文章的标题。
2:为每篇文章的标题图片的alt标签加上内容,内容为我们这片文章的标题,所以它还多了这个很重要的功能。
局限性:这个修改是全局作用性的,一旦修改所有文章都强制添加了这个功能,哪怕手动在文本编辑器的源码功能里为alt标签修改别的内容,在文章刷新后还是用标题做属性值。
方法步骤
1:使用ftp或者其他方式打开帝国程序的userfun.php 文件。路径为更目录/ e/class/userfun.php
2:将下面的代码放进userfun.php 文件里。
function user_AddImgAlt($mid,$f,$isadd,$isq,$value,$cs){ $value=stripSlashes($value); $title=stripSlashes($_POST['title']); $title=str_replace('"','',$title); $zz2="/<(img|IMG) (.*?)alt="(.*?)"(.*?)>/is"; $text=preg_replace($zz2,"<1 24>",$value); $zz1="/<(img|IMG) (.*?)>/is"; $text=preg_replace($zz1,"<1 alt="{$title}" 2>",$text); return $text; } |
如图:
3:修改数据表中的正文字段
位置:后台-->系统-->新闻系统数据表-->管理数据表-->管理字段-->选择要修改的字段
需要使用此功能的数据表都需要修改。正文字段一般是newstext(也可以是其它字段),在字段处理函数文本框填上user_AddImgAlt,如下图所示(修改后记得滑到下面提交修改)
newstext(正文)
titlepic(标题图片)
4:进入数据更新中刷新页面,大功告成。
注意:
如果直接粘贴本文的代码会出现错误,可能是编码的原因
utf-8的编码建议下载下面的文件
userfun的粘贴文件(userfun.zip)
如果粘贴里面的文件不行的话,可以试着剪切。
本文转载自:轻语分享www.caihonggudu.cn