dede当前位置如何去掉首页二字?

99ANYc3cd6
预计阅读时长 15 分钟
位置: 首页 DEDE建站 正文

修改模板文件 (最推荐,最灵活)

这是最常用也是最推荐的方法,因为它不涉及核心文件,升级系统时不会被覆盖。

dede当前位置去首页
(图片来源网络,侵删)

步骤 1:找到模板文件

DedeCMS 的当前位置是通过一个全局标签 {dede:field name='position'/} 来调用的,这个标签在渲染时会加载一个固定的模板文件。

  1. 找到这个模板文件,它通常位于: 你的网站目录/templets/default/position.htm

  2. 如果您使用的是非默认模板,请前往您的模板目录下寻找 position.htm 文件。

步骤 2:编辑模板文件

使用任意文本编辑器(如 VS Code, Sublime Text, Notepad++ 等)打开 position.htm 文件。

dede当前位置去首页
(图片来源网络,侵删)

您会看到类似下面的代码:

{dede:field name='position' runphp='yes'}
$a = @me;
$tag_last = trim(strip_tags(@me));
$tag_last = preg_replace('/\s+/', ' ', $tag_last);
$tag_last = preg_replace('/[\s]{2,}/', ' ', $tag_last);
$tag_last = explode('<a', $tag_last);
$tag_last = trim($tag_last[count($tag_last)-1]);
$tag_last = preg_replace('/^([^>]*?)\s*.*$/is', '\\1', $tag_last);
$tag_last = preg_replace('/^[\s]*?(.*)[\s]*?$/is', '\\1', $tag_last);
if($tag_last<> '') @me = '<a href=' . $cfg_basehost . '/><i class='fa fa-home'></i></a> > ' . @me;
else @me = '<a href=' . $cfg_basehost . '/><i class='fa fa-home'></i></a>';
{/dede:field}

关键点分析:

在这段代码中,$cfg_basehost 是一个 DedeCMS 的全局变量,它存储了您在后台设置的“网站首页链接”(系统 > 系统基本参数 > 核心设置 > 网站首页链接)。

步骤 3:修改链接

您有两种主要的修改方式:

dede当前位置去首页
(图片来源网络,侵删)

方式 A:直接修改硬编码的域名 (最直接)

如果您想让它始终指向一个固定的域名,而不是后台设置的变量,可以直接修改代码中的 $cfg_basehost

想把首页链接改为 https://www.yourdomain.com,找到类似 @me = '<a href=' . $cfg_basehost . '/>' 的代码行,将其修改为:

{dede:field name='position' runphp='yes'}
$a = @me;
$tag_last = trim(strip_tags(@me));
$tag_last = preg_replace('/\s+/', ' ', $tag_last);
$tag_last = preg_replace('/[\s]{2,}/', ' ', $tag_last);
$tag_last = explode('<a', $tag_last);
$tag_last = trim($tag_last[count($tag_last)-1]);
$tag_last = preg_replace('/^([^>]*?)\s*.*$/is', '\\1', $tag_last);
$tag_last = preg_replace('/^[\s]*?(.*)[\s]*?$/is', '\\1', $tag_last);
if($tag_last<> '') @me = '<a href=https://www.yourdomain.com/><i class='fa fa-home'></i></a> > ' . @me; // 在这里修改
else @me = '<a href=https://www.yourdomain.com/><i class='fa fa-home'></i></a>'; // 在这里修改
{/dede:field}

注意:

  • 确保 https://www.yourdomain.com/ 后面的斜杠 不能少。
  • 如果您的网站不需要 HTTPS,请使用 http://

方式 B:确保后台设置正确 (最规范)

通常情况下,最规范的做法是:

  1. 进入 DedeCMS 后台。
  2. 点击 系统 -> 系统基本设置
  3. 核心设置 中,找到 “网站首页链接” 这一项。
  4. 将其值修改为您想要的完整域名,https://www.yourdomain.com
  5. 点击“保存”。

position.htm 文件中的 $cfg_basehost 变量就会自动使用这个新值。这种方法是官方推荐的最佳实践。


修改 PHP 核心文件 (不推荐,有风险)

这种方法直接修改 DedeCMS 的程序文件,可以实现效果,但非常不推荐,因为:

  1. 升级风险:下次升级 DedeCMS 时,这个修改会被覆盖,需要重新修改。
  2. 维护困难:不熟悉代码的开发者很难定位到这个修改。

如果您仍然坚持要这样做,请按以下步骤操作:

步骤 1:定位文件

当前位置的生成逻辑在 include/helpers/extend.helper.php 文件中。

步骤 2:找到并修改函数

打开 extend.helper.php 文件,找到 GetPositions() 函数,在这个函数里,您会看到类似这样的代码:

function GetPositions($id,$alias=''){
    global $cfg_cmspath;
    $revalue = '';
    // ... (省略中间代码) ...
    $indexpage = "<a href='".$cfg_basehost."'>".$indexname."</a>";
    // ... (省略中间代码) ...
    return $revalue;
}

找到生成首页链接的那一行 $indexpage = "<a href='".$cfg_basehost."'>".$indexname."</a>";,将其修改为:

$indexpage = "<a href='https://www.yourdomain.com/'>".$indexname."</a>";

再次强调: 除非您有特殊原因且明白风险,否则请优先选择 方法一


总结与建议

方法 优点 缺点 推荐度
修改模板 灵活、安全、升级后不丢失 需要找到并编辑模板文件 ⭐⭐⭐⭐⭐ (强烈推荐)
修改核心文件 直接修改程序逻辑 有升级风险、维护困难 ⭐ (不推荐)

给您的最佳实践建议:

  1. 首选方案:进入 DedeCMS 后台,修改 “系统基本设置” -> “核心设置” -> “网站首页链接”,将其设置为您想要的正确域名,这是最规范、最安全的方法。
  2. 如果方案一无效:检查您的模板目录下是否有自定义的 position.htm 文件,如果有,请按照 方法一 中的方式修改它,确保它使用了正确的 $cfg_basehost 变量,或者直接硬编码您的域名。
  3. 尽量避免:直接修改 extend.helper.php 这样的核心程序文件。

希望这些详细的步骤能帮助您解决问题!

-- 展开阅读全文 --
头像
看图购织梦淘宝客模板好用吗?
« 上一篇 03-12
织梦如何调用分类信息内容?
下一篇 » 03-12

相关文章

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

目录[+]