云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

如何自动在织梦系统中为文章图片设置ALT属性以调用其标题?

织梦系统自动调用标题作为图片ALT属性的方法,可以提升SEO效果和用户体验。

在织梦CMS系统中,图片的ALT属性对于SEO优化和提升网站的可访问性非常重要,通过自动调用文章标题作为图片的ALT属性,可以大大减少手动操作的繁琐,并确保每张图片都有合适的描述,以下是实现这一功能的方法:

1、修改arc.archives.class.php文件

找到目录include中的arc.archives.class.php文件。

搜索以下代码段:

     $this>Fields['typename'] = $this>TypeLink>TypeInfos['typename'];
     @SetSysEnv($this>Fields['typeid'],$this>Fields['typename'],$this>Fields['id'],$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,}[sS]{0,}["'s] @isU", " ", $this>Fields['body']);
     $this>Fields['body'] = str_ireplace("<img ", "<img alt="".$this>Fields['title']."" ", $this>Fields['body']);

保存文件并更新生成文章内容即可。

2、使用自定义函数实现

打开/include/extend.func.php文件,在最下面加入以下代码:

     function replaceurl($newurl) {
         global $dsql, $id;
         $row = $dsql>GetOne("SELECT title FROM dede_archives WHERE id=$id");
         $newurl = str_ireplace(array('alt=""', 'alt='''), '', $newurl);
         $newurl = preg_replace("@[/s]{0,}alt[/s]{0,}=[/"'/s]{0,}[/s/S]{0,}[/"'/s]@isU", "", $newurl);
         $newurl = str_ireplace("<img", "<img alt="".$row['title'].""", $newurl);
         return $newurl;
     }

前端调用代码修改为:{dede:field.body function='replaceurl(@me)'/}

3、通过模板文件修改

打开织梦CMS后台,找到需要修改的模板文件,通常位于/templets/default/目录下。

对于文章图片的ALT注释修改,编辑article_article.htm文件;对于图集图片的ALT注释修改,编辑image_collect.htm文件。

在模板文件中,找到图片标签(如<img>),将其alt属性值修改为{dede:field name='title'/},表示将ALT注释设置为文章标题。

保存修改后的模板文件,然后重新生成文章或图集页面,即可看到图片的ALT注释已经修改为文章标题。

4、编写自定义函数

/include/helpers/archive.helper.php文件中添加以下代码:

     function setImageAltToTitle($imgTag, $title) {
         if (preg_match('/]+>/i', $imgTag, $matches)) {
             $newImgTag = preg_replace('/]+)>/i', ' alt="' . $title . '" />', $matches[0]);
             return str_replace($matches[0], $newImgTag, $imgTag);
         }
         return $imgTag;
     }

打开/include/arc.archives.class.php文件,找到以下代码段:

     $content = $this>dsql>GetOne("SELECT content FROM #@__archives WHERE id='$aid'");
     $content = preg_replace('/r|r|
/', '', $content);

将其替换为:

     $content = $this>dsql>GetOne("SELECT content FROM #@__archives WHERE id='$aid'");
     $title = $this>dsql>GetOne("SELECT title FROM #@__archives WHERE id='$aid'");
     $content = preg_replace_callback('/]+>/i', function ($matches) use ($title) {
         return setImageAltToTitle($matches[0], $title);
     }, $content);
     $content = preg_replace('/r|r|
/', '', $content);

清理DedeCMS缓存并重新生成HTML页面,以确保更改生效。

通过以上方法,可以实现织梦CMS系统文章图片ALT自动调用标题的功能,提高网站SEO优化效果和用户体验。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何自动在织梦系统中为文章图片设置ALT属性以调用其标题?》
文章链接:https://www.yunzhuji.net/yunfuwuqi/254006.html

评论

  • 验证码