核心思路

安装手机端模板的核心思路是:

dede安装手机端模板
(图片来源网络,侵删)
  1. 准备文件:下载或制作好手机端模板文件。
  2. 上传文件:将手机端模板文件上传到DedeCMS指定目录。
  3. 修改配置:修改DedeCMS的配置文件,告诉系统手机端模板的位置。
  4. 设置默认:设置网站默认的PC端模板,并启用手机端自适应功能。
  5. 测试验证:在手机上访问网站,确保模板生效且显示正常。

第一步:准备工作

  1. 下载手机端模板

    • 你可以从网上搜索“DedeCMS手机端模板”,有很多免费或付费的资源。
    • 确保你下载的模板版本与你的DedeCMS版本大致匹配(为DedeCMS 5.7设计的模板用在5.7上成功率更高)。
    • 一个标准的手机端模板通常包含以下文件结构:
      /m
      ├── index.php       (首页文件)
      ├── list.php        (列表页文件)
      ├── article_art.php  (文章内容页文件)
      ├── search.php      (搜索页文件)
      ├── images/         (模板图片文件夹)
      ├── style/          (模板样式文件夹,如css)
      └── ...             (其他可能页面,如标签页等)
    • 有时模板会以压缩包(.zip)形式提供,你需要先解压。
  2. 备份网站

    • 极其重要! 在进行任何文件修改或数据库操作之前,请务必备份你的整个网站目录和数据库,以防万一,可以快速恢复。

第二步:上传手机端模板文件

  1. 通过FTP工具连接:使用FileZilla等FTP工具,连接到你的网站服务器。
  2. 找到模板目录:登录后,找到DedeCMS的安装目录,模板通常存放在 /templets/ 目录下。
  3. 创建手机端模板文件夹
    • /templets/ 目录下,创建一个新的文件夹,用来存放手机端模板,推荐命名为 mmobile,这里我们以 m 为例。
    • 路径就是:/你的网站根目录/templets/m/
  4. 上传模板文件
    • 将你下载并解压后的手机端模板文件夹内的所有文件和文件夹(如 index.php, style, images 等)全部上传到刚创建的 /templets/m/ 目录中。

操作示例: 假设你的网站根目录是 /home/wwwroot/yourdomain.com/,那么上传路径就是: /home/wwwroot/yourdomain.com/templets/m/


第三步:修改DedeCMS配置文件

这是最关键的一步,目的是让DedeCMS识别并使用你上传的手机端模板。

dede安装手机端模板
(图片来源网络,侵删)
  1. 找到配置文件

    • 登录你的网站后台(/dede/ 目录)。
    • 在左侧菜单中找到 【系统】 -> 【系统基本参数】
  2. 修改模板默认目录

    • 在“系统基本参数”页面,点击右上角的 【核心设置】 选项卡。
    • 找到 “站点默认模板目录” 这一项,将其值从默认的 default 修改为你刚刚创建的手机端模板文件夹名称,即 m
    • 点击【保存】,这一步的目的是让DedeCMS在生成静态页面时,默认使用 m 目录下的模板。
  3. (推荐)修改模板引擎路径

    • 仍在“核心设置”页面,找到 “模板引擎路径” 这一项。
    • 它的值通常是 /include/dedetemplate.class.php,请确认这个路径是否正确,通常无需修改,但可以检查一下。

第四步:设置PC端模板并启用自适应

为了让PC用户依然使用原来的PC模板,同时让手机用户自动跳转到手机模板,需要进行如下设置。

  1. 设置PC首页模板

    • 在后台左侧菜单找到 【主页】 -> 【主页管理】
    • 点击 【默认主页设置】
    • 在“主页模板”选项中,选择你的PC端首页模板(通常是 default/index.htm)。
    • 在“列表页模板”和“内容页模板”中也选择对应的PC端模板。
    • 点击【保存】,这一步确保了PC端生成页面时使用正确的PC模板。
  2. 启用手机端自适应(跳转)

    • 在后台左侧菜单找到 【系统】 -> 【手机门户设置】
    • 重要提示:如果你的DedeCMS版本较老(如5.7),这个功能可能不叫“手机门户设置”,可能需要手动修改代码,我们先按新版操作。
    • 在“手机门户设置”页面,你可以设置手机端的首页、列表页等模板路径(它们会自动指向 /templets/m/ 下的文件)。
    • 关键选项:通常会有一个 “手机端访问跳转开关” 或类似的选项,请务必开启它
    • 保存设置

如果你的后台没有【手机门户设置】怎么办?(旧版DedeCMS 5.7通用方法)

如果找不到这个选项,你需要手动修改代码来实现手机跳转:

  1. 打开 /include/arc.archives.class.php 文件

  2. 查找代码:在文件中搜索 ismobileDetectsMobile,通常在 MakeHtml 函数附近。

  3. 修改代码:找到类似下面的代码块(可能略有不同):

    // 检测是否为手机访问
    if ($this->IsMobile()) {
        // 如果是手机,则使用手机端模板
        $this->SetTemplate($this->typepage);
    } else {
        // 如果是PC,则使用PC端模板
        $this->SetTemplate($this->typepage);
    }

    你需要确保 $this->IsMobile() 这个判断逻辑存在并且正确,如果不存在,你需要添加它,一个常见的实现方式是:

    arc.archives.class.php 文件的开头,或者在一个公共函数文件中(如 /include/common.func.php)添加以下函数:

    // 检测是否为手机访问
    function IsMobile() {
        if (empty($_SERVER['HTTP_USER_AGENT'])) {
            return false;
        }
        $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
        $mobile_agents = array(
            'iphone', 'android', 'ipod', 'ipad', 'windows phone',
            'mobile', 'blackberry', 'opera mini', 'opera mobi',
            'fennec', 'htc_', 'htc-', 'lg-', 'lg/', 'sonyericsson',
            'nokia', 'samsung', 'mobile safari'
        );
        foreach ($mobile_agents as $device) {
            if (strpos($user_agent, $device) !== false) {
                return true;
            }
        }
        return false;
    }

    然后在生成文章页面的逻辑中,使用这个函数来判断并选择模板,这通常需要一定的PHP基础,如果不确定,建议使用支持手机跳转的DedeCMS版本或插件。


第五步:测试验证

  1. 清除缓存

    • 在后台,进入 【系统】 -> 【一键更新网站】 -> 更新缓存,点击执行,清除所有旧的缓存文件。
  2. 生成栏目和文档

    • 为了确保所有页面都应用了新模板,建议重新生成一下首页、栏目页和文章页。
    • 进入 【主页】 -> 【一键更新网站】,选择“更新主页”、“更新栏目页”、“更新文档页”,然后点击“开始更新”。
  3. 使用手机访问

    • 在你的手机浏览器中,输入你的网站域名。
    • 方法一(推荐):使用浏览器的“开发者工具”模拟手机,在Chrome或Edge浏览器中,按 F12 打开开发者工具,点击左上角的“设备切换”图标(一个手机加平板的图标),选择一个手机型号(如 iPhone X),然后刷新页面。
    • 方法二:直接用手机访问,如果之前开启了跳转,手机访问时会自动切换到 /m/ 目录下的模板。
    • 检查首页、文章列表页、文章内容页在手机上的显示效果,包括布局、图片、链接等是否正常。

常见问题与解决

  • 问题1:手机访问后,页面样式乱了,图片很大。

    • 原因:PC端的CSS样式没有针对手机屏幕做优化。
    • 解决:你需要修改手机端模板里的 style.css 文件,添加响应式CSS代码,
      img { max-width: 100%; height: auto; } /* 图片自适应宽度 */
      body { font-size: 16px; } /* 手机端字体稍大 */

      或者,在手机端模板的 <head> 部分加入viewport标签:

      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  • 问题2:手机访问后,还是PC版的页面,没有跳转。

    • 原因1:没有开启“手机端访问跳转开关”。
    • 原因2:旧版DedeCMS没有相关功能,且没有手动添加跳转代码。
    • 解决:检查后台是否有相关开关,如果没有,需要在模板文件(如 head.htm)的 <head> 标签内加入JS跳转代码:
      <script>
      function browserRedirect() {
          var sUserAgent = navigator.userAgent.toLowerCase();
          var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
          var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
          var bIsMidp = sUserAgent.match(/midp/i) == "midp";
          var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
          var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
          var bIsAndroid = sUserAgent.match(/android/i) == "android";
          var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
          var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
          if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
              window.location.href = "http://你的域名/m/"; // 替换成你的手机端首页
          }
      }
      browserRedirect();
      </script>
  • 问题3:某个页面(如搜索页)没有手机版。

    • 原因:你只上传了首页、列表页和内容页的模板,但搜索页等其他页面没有对应的手机模板。
    • 解决:找到对应的手机端模板文件(如 search.php),上传到 /templets/m/ 目录下,如果模板包里没有,你可能需要复制PC端的 search.php/templets/m/ 目录,并手动修改其代码,使其适应手机显示。

希望这份详细的指南能帮助你成功安装DedeCMS手机端模板!