织梦自动生成手机网站效果如何?

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

在织梦CMS中,实现手机网站主要有两种主流且官方推荐的方法:

织梦自动生成手机网站
(图片来源网络,侵删)
  1. 织梦官方的 m 目录方案(最常用、最稳定)
  2. 使用第三方移动端插件/主题(功能更丰富,但可能存在兼容性风险)

我会重点讲解第一种官方方案,因为它最稳定、最安全,也是织梦官方一直维护和推荐的方式。


织梦官方的 m 目录方案(自动生成核心)

这个方案的核心思想是:在网站根目录下创建一个名为 m 的子目录,通过这个目录访问网站时,自动调用移动端模板,并自动适配内容。

核心步骤:

第一步:准备工作(非常重要)

  1. 织梦版本: 确保你的织梦版本在 DedeCMS V5.7 SP2 或更高版本,旧版本功能不完整,升级前请务必备份数据库和网站文件。
  2. 服务器环境: 确保你的服务器支持 伪静态,这是实现自动跳转和URL美化的关键,Nginx和Apache都支持。
  3. 备份数据!备份数据!备份数据! 在进行任何操作前,请务必备份你的网站数据库和所有文件。

第二步:开启并配置手机站点功能

  1. 登录后台: 使用管理员账号登录你的织梦后台。
  2. 找到设置选项: 在后台左侧菜单栏中,找到并点击 【系统】 -> 【系统基本参数】
  3. 开启手机站点:
    • 在打开的页面中,切换到 【核心设置】 选项卡。
    • 找到 是否启用手机站 这一项,将其值修改为 “是”
    • 保存 设置。

第三步:创建移动端模板文件

这是自动生成手机网站内容的关键,织梦会自动在 /m/ 目录下寻找与PC端模板名相对应的移动端模板。

  1. 复制PC模板: 为了保持风格统一,最简单的方法是复制你现有的PC端模板文件夹,你的PC端模板在 /templets/default/,你可以复制一份并重命名为 /templets/default_m/

    织梦自动生成手机网站
    (图片来源网络,侵删)
  2. 修改移动端模板: 打开 /templets/default_m/ 文件夹,将里面的模板文件(如 index.htm, list_article.htm, article_article.htm 等)进行修改,使其更适合手机屏幕(使用更小的字体、更简洁的布局、响应式设计等)。

  3. 修改模板标签: 这是最核心的一步!为了实现同步,你需要将移动端模板中的所有内容标签进行修改。

    • 列表页模板 (list_article.htm) 修改示例:

      • PC端标签:
        {dede:list pagesize='10'}
        <a href='[field:arcurl/]'>[field:title/]</a>
        <p>[field:description function='cn_substr(@me,100)'/]...</p>
        {/dede:list}
      • 移动端标签(自动调用PC端内容):
        {dede:mobilelist pagesize='10'}
        <a href='[field:arcurl/]'>[field:title/]</a>
        <p>[field:description function='cn_substr(@me,100)'/]...</p>
        {/dede:mobilelist}
      • 关键点: {dede:list} 要改成 {dede:mobilelist},这样,当用户访问 /m/ 目录下的列表页时,织梦会自动从PC端的栏目中调用内容,而不会创建一份独立的数据。
    • 首页和文章页同理:

      织梦自动生成手机网站
      (图片来源网络,侵删)
      • 首页模板 index.htm 中的内容循环标签,如果调用了列表,也请将 {dede:arclist} 改为 {dede:mobilearclist}
      • 文章详情页 article_article.htm 通常不需要改动,因为它的核心是 {dede:field.body/},这个标签会自动适配。

第四步:创建并设置 m 目录

  1. 创建目录: 通过FTP或你的主机控制面板,在网站根目录下创建一个名为 m 的文件夹。

  2. 复制必要文件:

    • /include/ 文件夹复制/m/ 目录下。
    • /plus/ 文件夹复制/m/ 目录下。
    • /static/ 文件夹复制/m/ 目录下(如果你的模板依赖静态资源)。
    • /m/ 目录下新建一个 index.php 文件,内容如下:
    <?php
    /**
     * 自动移动端适配
     * 本文件会自动处理移动端请求,并调用相应的移动端模板
     */
    require_once (dirname(__FILE__) . "/include/common.inc.php");
    require_once DEDEINC."/arc.partview.class.php";
    $pv = new PartView();
    $pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/".$cfg_mobile_templets."/".$pv->Fields['templet']);
    $pv->Display();
    ?>
    • /m/ 目录下新建一个 index.html 文件,内容可以为空,也可以放一个简单的“建设中”提示。

第五步:设置PC端模板的跳转代码

为了让PC用户访问时自动跳转到手机站,或者反之,需要在PC端的模板文件中(通常是 head.htmindex.htm<head> 部分)加入以下代码:

<script type="text/javascript">
// 检测设备并跳转
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) {
        // 如果是移动设备,且当前不在m目录下,则跳转到m目录
        if (window.location.href.indexOf('/m/') == -1) {
            window.location.href = window.location.href.replace('http://', 'http://m.').replace('https://', 'https://m.');
        }
    } else {
        // 如果是PC设备,且当前在m目录下,则跳转到主站
        if (window.location.href.indexOf('/m/') != -1) {
            window.location.href = window.location.href.replace('http://m.', 'http://').replace('https://m.', 'https://');
        }
    }
}
browserRedirect();
</script>

注意: 这段代码会自动将 yourdomain.com 替换为 m.yourdomain.com,如果你的手机站不是子域名,而是目录形式(yourdomain.com/m/),你需要修改跳转逻辑。

第六步:设置伪静态规则

伪静态能让你的手机站URL更美观,并且对搜索引擎更友好。

  1. Nginx 伪静态规则: 将以下代码添加到你的Nginx配置文件中(通常是 nginx.conf 或你站点的配置文件)。

    rewrite ^/m/(.*)$ /m/index.php?$1 last;
  2. Apache 伪静态规则: 确保你的网站开启了 mod_rewrite 模块,然后在网站根目录下创建(或修改)一个名为 .htaccess 的文件,并添加以下内容:

    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^m/(.*)$ /m/index.php?$1 [L]
    </IfModule>

第七步:更新缓存和测试

  1. 后台更新缓存: 回到织梦后台,点击右上角的 【生成】 -> 【更新系统缓存】
  2. 测试:
    • 在手机浏览器中访问你的网站域名,看是否会自动跳转到 m.yourdomain.com/m/ 目录。
    • 检查手机站页面是否正常显示,内容是否从PC端正确同步过来。
    • 检查文章链接、图片等是否正常。

使用第三方移动端插件/主题

如果你对织梦的默认方案不满意,或者想要更丰富的功能(如独立的后台管理、完全不同的内容结构等),可以考虑使用第三方插件。

  • 优点:
    • 功能强大,通常自带响应式模板,无需手动创建 m 目录。
    • 有些插件允许手机站和PC端内容独立管理。
    • 安装通常比较简单,一键启用。
  • 缺点:
    • 兼容性风险: 插件可能与你的织梦版本或其他插件冲突。
    • 安全风险: 来源不明的插件可能包含后门代码。
    • 稳定性: 官方方案最稳定,第三方插件更新和维护可能不及时。
    • 性能: 部分插件可能会拖慢网站速度。

如何寻找: 你可以在织梦官方论坛、Dedecms吧、或者一些代码下载网站上搜索关键词如 “织梦手机站插件”、“织梦移动端主题” 等,选择时,请务必注意查看评价、下载量和更新日期。

总结与建议

对于绝大多数用户,强烈推荐使用方法一(织梦官方的 m 目录方案)

  • 它最稳定、最安全,由织梦官方团队维护。
  • 自动同步,你只需要在PC端更新内容,手机站就会自动更新,大大减少了维护成本。
  • 完全免费,且功能已经足够满足大多数网站的需求。

请严格按照上述步骤操作,每一步都确认无误后再进行下一步,如果在操作中遇到问题,可以先在织梦官方论坛搜索,通常都能找到解决方案。

-- 展开阅读全文 --
头像
dede首页为何突然无法访问?
« 上一篇 前天
织梦 文章内容不显示
下一篇 » 前天

相关文章

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

目录[+]