织梦手机端仿站教程,新手如何快速上手?

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

织梦手机端仿站全教程 (图文详解)

织梦CMS(DedeCMS)的手机端实现方式主要有两种:“同一数据库,不同模板”“独立数据库,完全分离”,目前最主流、最推荐的方式是第一种,即共用数据库,通过判断设备类型来加载不同的模板。

本教程将重点讲解这种主流的仿站方法。


第一步:准备工作

在开始之前,请确保你已经准备好以下工具和资源:

  1. 源站手机端网站:你想要模仿的手机端网站,我们需要获取它的HTML、CSS、JavaScript等文件。
  2. 本地织梦环境:已经安装好的织梦CMS程序(如 DedeCMS V5.7 或 V5.8 SP2),并且可以正常访问后台和前台。
  3. 代码编辑器:如 VS Code、Sublime Text、Dreamweaver 等,用于修改和编辑代码。
  4. 浏览器开发者工具:用于分析源站网页结构和样式,这是仿站的核心工具。
  5. FTP工具:如 FileZilla,用于上传本地文件到服务器。

第二步:分析源站手机端页面

这是最关键的一步,决定了你仿站的质量。

  1. 打开源站手机端页面:在手机上或使用浏览器的“设备模拟器”打开你想要模仿的网站。
  2. 打开开发者工具
    • 在 Chrome 或 Edge 浏览器中,按 F12 键打开开发者工具。
    • 点击左上角的“设备模拟器”图标(一个手机加平板的图标),将浏览器切换到手机视图。
  3. 分析页面结构
    • HTML 结构:在 "Elements" (元素) 面板中,查看整个页面的 HTML 代码,理解 <header>, <nav>, <main>, <section>, <footer> 等标签的嵌套关系,这些是你后续在织梦模板中需要替换的占位符。
    • CSS 样式:在 "Styles" (样式) 面板中,查看元素的 CSS 样式,你可以实时修改样式来预览效果,理解布局、颜色、字体等是如何实现的。
    • 图片和资源:右键点击页面中的图片,选择“复制图片地址”,找到所有图片资源的链接,下载并保存到本地。

分析技巧:重点关注导航栏、轮播图、文章列表、页脚等核心模块,思考这些模块在织梦里分别对应哪个标签(如 {dede:arclist})。


第三步:创建织梦手机端模板目录

为了不干扰PC端模板,我们需要为手机端创建一个独立的模板目录。

  1. 登录织梦后台你的域名/dede/
  2. 进入模板管理:在左侧菜单栏中找到 “模板” -> “模板管理”
  3. 创建新目录:点击右上角的 “增加一个目录”
    • 目录名称:填写 mmobile,这里我们以 m 为例。
    • 目录简介:可以填写“手机端模板”。
    • 点击 “确定”

你的 /templets/ 目录下会多出一个 /m/ 文件夹,所有手机端的模板文件都将放在这里。


第四步:制作手机端首页模板

这是仿站的核心工作,我们将把分析好的源站页面“翻译”成织梦模板。

  1. 准备静态HTML

    • 在第二步中,通过“另存为”功能,将源站手机端首页保存为一个静态HTML文件(index.html)。
    • 用代码编辑器打开这个 index.html
  2. 替换织梦标签

    • 删除冗余代码:删除 <head> 标签中的 <title><meta charset> 等部分,因为这些我们会在织梦的 head.htm 模板中统一处理,只保留 <meta name="viewport" ...> 这句视口声明。

    • 替换网站标题:将 <title> 标签中的内容替换为织梦的标题标签:{dede:global.cfg_webname/}

    • 替换导航菜单:找到导航菜单的HTML结构,通常是一个 <ul> 列表,将其替换为织梦的栏目列表标签。

      <!-- 原始HTML -->
      <ul class="nav">
          <li><a href="#">首页</a></li>
          <li><a href="#">关于我们</a></li>
          ...
      </ul>
      <!-- 替换为织梦标签 -->
      <ul class="nav">
          {dede:channel type='top' row='10'}
          <li><a href="[field:typelink/]">[field:typename/]</a></li>
          {/dede:channel}
      </ul>
    • 替换轮播图/焦点新闻:找到轮播图区域,替换为织梦的图集或文章标签。

      <!-- 原始HTML -->
      <div class="slider">
          <img src="image1.jpg" alt="">
          ...
      </div>
      <!-- 替换为织梦arclist标签 -->
      <div class="slider">
          {dede:arclist row='5' titlelen='20' typeid='1' channelid='1'}
          <div class="slide-item">
              <a href="[field:arcurl/]"><img src="[field:picname/]" alt="[field:title/]"></a>
          </div>
          {/dede:arclist}
      </div>

      注意:typeid='1'channelid='1' 需要替换为你自己的栏目ID和模型ID。

    • 替换文章列表:找到文章列表区域,替换为织梦的 arclist

      <!-- 原始HTML -->
      <div class="news-list">
          <h2>最新资讯</h2>
          <ul>
              <li><a href="#">文章标题1</a></li>
              <li><a href="#">文章标题2</a></li>
              ...
          </ul>
      </div>
      <!-- 替换为织梦arclist标签 -->
      <div class="news-list">
          <h2>最新资讯</h2>
          <ul>
              {dede:arclist row='10' titlelen='30' orderby='pubdate'}
              <li><a href="[field:arcurl/]">[field:title/]</a></li>
              {/dede:arclist}
          </ul>
      </div>
    • 替换页脚信息:将页脚的版权信息、联系方式等替换为织梦的全局变量或标签。

  3. 保存模板文件

    • 将修改好的代码保存为 index.htm
    • 通过 FTP 工具,将 index.htm 上传到织梦模板目录 /templets/m/ 下。

第五步:制作其他手机端模板

除了首页,你还需要制作其他页面的手机端模板,如列表页 (list_article.htm页 (article_article.htm) 等。

  • 列表页 (list_article.htm):模仿源站的列表页布局,同样使用 arclist 标签来调用文章。
  • 内容页 (article_article.htm):模仿源站的文章详情页布局,使用 {dede:field.title/}, {dede:field.body/}, {dede:field.pubdate function='MyDate('Y-m-d', @me)'/} 等标签来调用文章内容。

将这些制作好的模板文件也上传到 /templets/m/ 目录下。


第六步:设置织梦识别手机端并加载模板

现在模板有了,但织梦还不知道什么时候该加载手机端模板,我们需要修改核心文件来实现这个判断。

  1. 找到核心文件:在织梦程序的根目录下,找到 index.php 文件。
  2. 修改代码
    • 用代码编辑器打开 index.php
    • 找到类似这样的代码段(通常在文件末尾):
      //自动处理pc和手机
      if($cfg_mobileurl && $cfg_mobileurl != 'https://m.yoursite.com' && $cfg_mobileurl != 'http://m.yoursite.com'){
          $murl = str_replace('https://','',$cfg_mobileurl);
          $murl = str_replace('http://','',$murl);
          if(strpos($_SERVER['HTTP_HOST'],$murl) !== false){
              $cfg_murl = 'http://'.$murl;
              header("Location:$cfg_murl");
              exit();
          }
      }
    • 在这段代码的 前面,添加以下代码来实现自动识别设备并加载模板:
      //---------------手机端自动识别并加载模板 Start----------------
      if (isset($_SERVER['HTTP_USER_AGENT'])) {
          $clientuseragent = strtolower($_SERVER['HTTP_USER_AGENT']);
          $clientuseragent = str_replace("mobile ", "", $clientuseragent);
          $mobilekeywords = "/nokia|iphone|android|motorola|sonyericsson|blackberry|htc|ipod|samsung|lg|ucweb|opera mobi|windows mobile|openwave|netfront|up.browser|up.link|blazer|polaris|fennec|maemo|minimo|mobila|opera mini|opera mobi|iemobile|zte-|huawei-|dopod-|coolpad-|tianyu-|lenovo-|vivo-|xiaomi-|oppo-/i";
          if (preg_match($mobilekeywords, $clientuseragent)) {
              $cfg_m = 'm'; // 这里要和你创建的模板目录名一致
              $cfg_templets_dir = $cfg_templets_dir . '/' . $cfg_m;
          }
      }
      //---------------手机端自动识别并模板 End----------------
    • 保存 index.php 文件并上传回服务器。

说明:这段代码会检测访问设备的 User-Agent,如果匹配到手机关键词,就会自动将模板目录指向 /templets/m/,从而加载手机端模板。


第七步:更新网站并测试

  1. 更新首页:在织梦后台,点击 “生成” -> “主页HTML” -> “更新主页”,重新生成首页。
  2. 清空缓存:在后台 “系统” -> “缓存管理” -> “更新全部缓存”
  3. 测试
    • 手机测试:用手机访问你的网站,应该能看到你制作好的手机端页面了。
    • PC测试:用电脑访问网站,应该仍然是PC端页面。
    • 开发者工具测试:在电脑上打开网站,使用浏览器“设备模拟器”功能,切换到手机模式,查看效果是否正常。

第八步:常见问题与解决方案

  1. 问题:手机端样式错乱,图片路径不正确。

    • 原因:CSS和图片的路径是相对路径,在手机端模板中可能找不到。
    • 解决
      • CSS路径:在CSS文件中,所有引入的背景图片等,建议使用绝对路径,即从网站根目录开始的路径,如 background-image: url('/images/bg.png');
      • 图片路径:织梦的 [field:picname/] 等标签默认输出的是相对路径,可以修改为绝对路径,在调用图片时,可以这样写:
        <img src="[field:litpic/]" alt="">

        然后在织梦后台的 “系统” -> “系统基本参数” -> “核心设置” 中,确保“附件目录”等设置正确,如果仍有问题,可以在模板中使用PHP函数来处理:

        {dede:field name='litpic' function='str_replace("./", "/cms/", @me)'/}

        /cms/ 是你的网站根目录,请根据实际情况修改)

  2. 问题:点击手机端页面上的链接,跳转到PC端页面。

    • 原因:文章、栏目等内容的链接没有经过手机端模板的处理。
    • 解决:这是织梦的一个特性,当你点击文章进入详情页时,织梦会根据文章的ID去加载对应的模板,你需要确保你的内容页模板 (article_article.htm) 已经被正确地放到了 /templets/m/ 目录下,这样,当手机用户访问文章时,系统就会自动加载手机端的内容页模板。
  3. 问题:网站首页可以跳转,但列表页或文章页不行。

    • 原因index.php 的修改只对首页有效,列表页和文章页由 list.phparticle.php 等文件控制。
    • 解决:你需要将 第六步 中的那段代码,完整地复制list.php, article.php, search.php 等所有需要手机端适配的PHP文件的开头部分(在包含 include/common.inc.php 之后)。

织梦手机端仿站的核心思路可以概括为:

分析源站 -> 制作模板 -> 修改核心文件实现自动适配 -> 测试优化。

这个过程需要耐心和对织梦标签的熟悉,多练习几次,你就能熟练掌握这个流程,祝你仿站顺利!

-- 展开阅读全文 --
头像
织梦网站修改幻灯片
« 上一篇 04-22
dede如何单独调用指定栏目的信息?
下一篇 » 04-22

相关文章

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