dede首页如何设置跳转登录?

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 DEDE建站 正文
  1. 在首页模板文件中添加登录链接。
  2. 配置登录成功后的跳转页面(可选但推荐)。

下面我将为你提供详细的步骤和代码示例,覆盖最常见的情况。

dede首页跳转登录
(图片来源网络,侵删)

添加一个通用的登录按钮或链接

这是最直接的方法,通常用于网站的头部、侧边栏或底部。

步骤 1:找到并修改首页模板文件

  1. 登录你的网站后台。
  2. 进入【模板】->【默认模板管理】。
  3. 找到并点击你当前使用的【主页模板】(通常是 index.htm)。
  4. 在模板代码中,你希望添加登录链接的位置,插入以下代码。

代码示例

你可以选择以下任意一种样式的代码:

示例 1:纯文本链接

<a href="{dede:global.cfg_memberurl/}/login.php">登录</a>

示例 2:带样式的按钮(推荐)

dede首页跳转登录
(图片来源网络,侵删)

这种方式更美观,你可以通过CSS来控制按钮的样式。

<a href="{dede:global.cfg_memberurl/}/login.php" class="login-btn">立即登录</a>

代码解释:

  • {dede:global.cfg_memberurl/}:这是 DedeCMS 的全局标签,它会自动输出会员中心的路径,通常是 /member/,使用这个标签可以保证路径的准确性,避免因目录结构改变而导致链接失效。
  • /login.php:这是 DedeCMS 默认的登录页面文件名。
  • class="login-btn":这是一个 CSS 类名,你可以为它定义样式,比如背景色、颜色、圆角等。

步骤 2:添加CSS样式(可选)

为了让按钮更好看,你可以在模板的 <head> 部分或者外部的CSS文件中添加样式。

index.htm 模板的 <head></head> 之间添加:

<style type="text/css">
    .login-btn {
        display: inline-block;
        padding: 8px 15px;
        background-color: #007bff; /* 按钮背景色 */
        color: #ffffff; /* 按钮文字颜色 */
        text-decoration: none;
        border-radius: 4px; /* 圆角 */
        font-weight: bold;
    }
    .login-btn:hover {
        background-color: #0056b3; /* 鼠标悬停时的背景色 */
    }
</style>

点击整个导航栏或特定区域跳转登录

我们希望用户点击网站的 Logo 或者整个导航条后,如果未登录,就跳转到登录页,这需要结合 JavaScript 来实现。

步骤 1:修改模板文件

index.htm 中,找到你想要添加点击事件的元素,比如一个 divnav,并给它添加一个 id

我们给整个导航条 nav 添加一个 id="main-nav"

<nav id="main-nav">
    <!-- 这里是你原有的导航代码 -->
    <a href="/">首页</a>
    <a href="/about.html">关于我们</a>
    <!-- ... -->
</nav>

步骤 2:引入 JavaScript 代码

在模板文件的底部,</body> 标签之前,添加以下 JavaScript 代码。

<script type="text/javascript">
    // 获取导航栏元素
    var mainNav = document.getElementById('main-nav');
    // 为导航栏添加点击事件
    if (mainNav) {
        mainNav.addEventListener('click', function(event) {
            // 阻止链接的默认跳转行为
            event.preventDefault();
            // 获取当前登录状态标签的值
            // DedeCMS 默认会输出一个 <span id="userlogin">...</span>
            // 如果用户已登录,里面会有内容;如果未登录,则为空。
            var userLoginStatus = document.getElementById('userlogin').innerHTML;
            // 判断用户是否已登录
            if (userLoginStatus.trim() === '') {
                // 如果未登录,则跳转到登录页面
                // 同样使用 {dede:global.cfg_memberurl/} 来保证路径正确
                window.location.href = "{dede:global.cfg_memberurl/}/login.php?gotopage=" + encodeURIComponent(window.location.href);
            } else {
                // 如果已登录,则不做任何操作,或者可以跳转到会员中心
                // window.location.href = "{dede:global.cfg_memberurl/}/";
            }
        });
    }
</script>

代码解释:

  • document.getElementById('main-nav'):获取我们之前添加了 id 的导航栏元素。
  • addEventListener('click', ...):为该元素添加一个点击事件监听器。
  • event.preventDefault():非常重要!它会阻止导航栏内所有 <a> 标签的默认跳转行为,让我们有机会用 JavaScript 来控制。
  • document.getElementById('userlogin').innerHTML:这是判断登录状态的关键,DedeCMS 在用户登录后,会在页面中生成一个 iduserloginspan 标签,里面包含用户信息和退出链接,如果用户未登录,这个 span 的内容就是空的。
  • window.location.href = ...:如果用户未登录,就执行页面跳转。
  • ?gotopage= + encodeURIComponent(window.location.href):这是一个非常友好的做法,它会在跳转到登录页时,带上一个参数 gotopage,值为当前页面的地址,这样,用户登录成功后,DedeCMS 的登录页面会自动将用户跳转回他之前想访问的页面(也就是首页)。

配置登录成功后的跳转页面(推荐)

无论你使用哪种方法,都建议配置一下登录成功后的跳转,以提升用户体验,默认情况下,用户登录后会进入会员中心首页。

  1. 登录 DedeCMS 后台。
  2. 进入【系统】->【系统基本参数】。
  3. 在左侧菜单中找到并点击【会员设置】。
  4. 找到 “会员登录跳转页面” 这个选项。
  5. 在输入框中,你希望登录后跳转的页面地址。
    • 如果想跳回首页,就输入 或者 index.php
    • 如果想跳转到某个特定页面,/user-center.html,就输入那个地址。
  6. 点击【确定】保存。

这个设置会影响所有通过 /member/login.php 登录的用户,是一个非常全局和有效的配置。


总结与注意事项

需求场景 推荐方法 关键代码/标签
添加一个简单的登录按钮 方法一 <a href="{dede:global.cfg_memberurl/}/login.php">登录</a>
点击特定区域(如导航栏)判断登录 方法二 结合 JavaScriptdocument.getElementById('userlogin').innerHTML 判断状态。
统一配置登录后跳转 方法三 后台【系统基本参数】->【会员设置】中的 “会员登录跳转页面”

重要提示:

  • 缓存问题:修改模板文件后,如果前台页面没有立即更新,请进入后台【生成】->【一键更新网站】->【更新主页】,或者清除浏览器缓存再查看。
  • 模板引擎:确保你的模板文件没有被禁用 Dede 的默认标签({dede:...})。
  • 路径问题:始终使用 {dede:global.cfg_memberurl/} 来获取会员中心路径,这是最稳妥的做法。

选择最适合你网站需求的方法即可,对于大多数网站来说,方法一 + 方法三 的组合已经足够了。

-- 展开阅读全文 --
头像
织梦网站会员中心模板
« 上一篇 今天
城市分站织梦系统如何高效搭建与维护?
下一篇 » 今天

相关文章

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

目录[+]