织梦文章title怎么显示网站title

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 织梦建站 正文

最规范、最推荐的方法(修改PHP核心文件)

这是最根本、最规范的解决方法,能确保所有文章页面都遵循统一的规则。

织梦文章title怎么显示网站title
(图片来源网络,侵删)

操作步骤:

  1. 找到并打开文件 在你的网站根目录下,找到并打开以下文件: /include/arc.archives.class.php

  2. 定位关键代码 在文件中搜索 GetMaketitle() 函数,这个函数就是专门用来生成文章页<title>的,找到类似下面这样的代码段:

    // 位置大约在 arc.archives.class.php 文件的第 140 行左右(不同版本可能略有差异)
    function GetMaketitle()
    {
        if($this->ismake==1)
        {
            $title = htmlspecialchars($this->Fields['title']);
            if($this->Fields['titleseo'] != '')
            {
                $title = $this->Fields['titleseo'];
            }
            // return $title;  // 这就是原来的代码,直接返回文章标题
        }
        else
        {
            $title = htmlspecialchars($this->Fields['title']);
            if($this->Fields['titleseo'] != '')
            {
                $title = $this->Fields['titleseo'];
            }
            // return $title;  // 这也是原来的代码
        }
    }
  3. 修改代码 将上述代码中的 return $title; 替换为下面的代码,这段代码会获取文章标题、所属顶级栏目名称和网站配置的网站名称,并将它们拼接起来。

    织梦文章title怎么显示网站title
    (图片来源网络,侵删)
    // 修改后的 GetMaketitle() 函数
    function GetMaketitle()
    {
        if($this->ismake==1)
        {
            $title = htmlspecialchars($this->Fields['title']);
            if($this->Fields['titleseo'] != '')
            {
                $title = $this->Fields['titleseo'];
            }
        }
        else
        {
            $title = htmlspecialchars($this->Fields['title']);
            if($this->Fields['titleseo'] != '')
            {
                $title = $this->Fields['titleseo'];
            }
        }
        // --- 以下是新增的代码 ---
        // 获取文章所属的顶级栏目ID
        $typeid = $this->Fields['typeid'];
        $topid = GetTopid($typeid); // 调用函数获取顶级栏目ID
        // 获取顶级栏目的名称
        $top_channel = $this->dsql->GetOne("SELECT * FROM `#@__arctype` WHERE id = '$topid'");
        $channelname = $top_channel['typename'];
        // 获取网站名称
        $sitename = $GLOBALS['cfg_webname'];
        // 拼接最终的 title
        // 格式:文章标题 - 栏目名称 - 网站名称
        $final_title = $title . ' - ' . $channelname . ' - ' . $sitename;
        return $final_title;
        // --- 新增代码结束 ---
    }
  4. 保存并测试 保存修改后的 arc.archives.class.php 文件,然后刷新你的任意一篇文章页面,查看网页源代码,<title>应该已经变成你期望的格式了。

优点:

  • 一劳永逸:修改一次,所有文章页面都生效。
  • 规范统一:所有页面标题格式保持一致,利于SEO。
  • 功能强大:可以根据需要自由调整拼接的顺序和内容。

简单直接的方法(修改模板文件)

如果你不想修改PHP核心文件,或者只想在特定模板上实现,可以修改文章页面的模板文件。

操作步骤:

织梦文章title怎么显示网站title
(图片来源网络,侵删)
  1. 找到并打开模板文件 在你的模板目录下,找到文章页面的模板文件,通常是: /templets/default/article_article.htm (如果你使用了其他模板,请找到对应的模板文件)

  2. 定位<title> 在文件头部找到 <title> 标签,它可能看起来像这样:

  3. 修改标签 将其修改为以下格式,使用织梦的内置标签来获取栏目和网站名称:

    标签解释:

    • {dede:field.title/}
    • {dede:field name='typename'/}:当前文章所在栏目的名称。
    • {dede:global.cfg_webname/}:后台设置的网站名称。
  4. 保存并测试 保存模板文件,然后更新你的网站(在后台“生成” -> “更新HTML”),再刷新文章页面查看效果。

注意:

  • 这种方法有一个小缺点:如果一篇文章属于二级栏目,{dede:field.name='typename'/} 显示的是二级栏目的名称,如果你希望始终显示顶级栏目的名称,这种方法就无法直接实现,此时方法一是更好的选择。

通过后台“SEO设置”批量修改(针对已生成静态页)

如果你的文章页面已经是静态HTML文件,并且不想重新生成,可以通过批量修改标题来实现。

操作步骤:

  1. 进入文章管理 登录织梦后台,进入“核心” -> “内容模型管理” -> “普通文章” -> “字段管理”。

  2. 修改title字段 找到 title 字段,点击后面的“修改”按钮。

  3. 设置“前台列表显示” 在字段修改页面,找到“前台列表显示”这一项,默认是“否”,将其修改为“是”。

  4. 批量修改文章标题 进入“内容” -> “所有文章”列表。

    • 点击列表上方的“选择” -> “全选”。
    • 点击“批量维护” -> “批量生成HTML”。
    • 在弹出的选项中,确保勾选了“自动更新HTML”。
    • 点击“开始执行”。

    这个操作会重新处理所有文章页面,此时会调用你方法一中修改过的 GetMaketitle() 函数,从而生成新的标题。

这种方法的前提是:你必须已经使用了方法一修改了 arc.archives.class.php 文件。 它只是用来批量更新已经存在的静态页面。


总结与推荐

方法 优点 缺点 推荐度
修改PHP核心文件 一劳永逸,效果最规范,能获取顶级栏目名 需要修改核心文件,有一定技术门槛 ⭐⭐⭐⭐⭐ (最推荐)
修改模板文件 简单直观,无需修改PHP代码 只能获取当前栏目名,不够灵活 ⭐⭐⭐
后台批量更新 适用于已生成静态页面的网站 依赖于方法一,操作相对繁琐 ⭐⭐

对于绝大多数用户,强烈推荐使用方法一,它虽然需要你修改一个PHP文件,但这是解决问题的根本之道,能确保网站的规范性和未来的可维护性。

-- 展开阅读全文 --
头像
织梦CMS get admin 0day漏洞细节如何利用?
« 上一篇 2025-11-30
本地织梦与Dreamweaver如何关联使用?
下一篇 » 2025-11-30

相关文章

取消
微信二维码
支付宝二维码