dede 手机模板中的当前位置

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

在 DedeCMS 中,手机模板和电脑模板是分开的,它们通常位于不同的目录下,

  • 电脑模板:/templets/default/
  • 手机模板:/templets/mobile/

修改手机模板的当前位置,需要操作的是 手机模板目录下的文件


核心实现方法

手机模板中的当前位置主要通过调用 DedeCMS 的全局 {dede:field name='position'/} 标签来实现,这个标签会根据当前页面的类型(首页、列表页、内容页等)自动生成对应的路径。

下面我们分场景来讲解如何设置和修改。

修改通用模板(如 index_article.htm

这是最常见的情况,你想修改所有文章列表页、文章内容页等通用页面的当前位置。

  1. 找到文件 登录你的网站服务器,进入 DedeCMS 安装目录下的 templets/mobile/ 文件夹。 找到当前手机模板所使用的核心文件,通常是 index_article.htm,这个文件是文章系统(文章、图集、软件等)的默认模板。

  2. 定位代码 打开 index_article.htm 文件,使用查找功能(通常是 Ctrl+F)搜索 {dede:field name='position'/}当前位置,找到你想要修改的位置。

  3. 修改代码 默认的 {dede:field name='position'/} 标签会生成类似这样的HTML:

    <a href='http://你的域名/'>主页</a> > <a href='http://你的域名/plus/list.php?tid=2'>栏目名称</a> > <span>文章标题</span>

    你可以通过给标签添加属性来自定义它的样式和分隔符。

    示例 1:修改分隔符 默认的分隔符是 >,你可以修改成 >> 或者 等。

    {dede:field name='position' runphp='yes'}
        @me = str_replace(' > ', ' >> ', @me);
    {/dede:field}

    或者使用更简洁的方式(DedeCMS 5.7+ 版本支持):

    {dede:field name='position' separator=' >> '}

    示例 2:添加样式 你想给当前位置的链接和文字添加一些CSS样式,使其在手机上更美观。

    <div class="breadcrumb">
        {dede:field name='position'/}
    </div>

    然后你可以在CSS文件中定义 .breadcrumb 的样式,

    .breadcrumb {
        font-size: 12px;
        color: #999;
        padding: 10px 5px;
        line-height: 1.5;
    }
    .breadcrumb a {
        color: #0066cc;
        text-decoration: none;
    }
    .breadcrumb a:hover {
        text-decoration: underline;
    }

    示例 3:隐藏首页链接 如果你不希望显示“主页”链接,可以通过 runphp 来处理。

    {dede:field name='position' runphp='yes'}
        $a = "<a href='http://你的域名/'>主页</a> > ";
        $b = str_replace($a, '', @me);
        @me = $b;
    {/dede:field}

修改特定页面的当前位置

你可能只想修改首页、某个特定列表页或内容页的当前位置。

  1. 首页 首页的当前位置通常在 index.htm 文件中,如果你想在首页也显示一个固定的面包屑,可以直接在里面写死HTML。

    <!-- 在 index.htm 中 -->
    <div class="breadcrumb">
        <a href="/">首页</a>
    </div>

    注意:首页默认不调用 {dede:field name='position'/},因为它本身就是最顶层。

  2. 特定列表页

    • 方法A:复制并重命名模板

      • 复制 templets/mobile/index_article.htm 文件,并重命名为 list_special.htm
      • 进入后台 -> 模板 -> 默认模板管理 -> 手机模板
      • 找到对应的栏目,在“列表模板”选项中选择你刚刚创建的 list_special.htm
      • 这样,这个栏目就会使用新的模板文件,你可以在里面自由修改当前位置。
    • 方法B:使用单页模板 如果这个“特定页面”是一个单页(关于我们”),那么它使用的是 article_article.htm 模板,直接修改这个文件里的 {dede:field name='position'/} 即可。


常见问题与解决方案

问题1:首页面包屑不显示,或者显示不正确。

  • 原因:首页模板 index.htm 默认没有调用 {dede:field name='position'/}
  • 解决:如果你想在首页也显示面包屑,直接在 index.htm 中手动添加HTML代码,如上所述。

问题2:修改了 index_article.htm 后,前台页面没有变化。

  • 原因
    1. 模板未更新:DedeCMS 有模板缓存,请进入后台 -> 系统 -> 系统基本参数 -> 性能选项,点击“清除所有缓存”。
    2. 修改错了文件:确认你修改的是 /templets/mobile/ 目录下的文件,而不是电脑模板目录。
    3. 模板引擎问题:检查后台的“模板引擎是否开启”是否为“是”。

问题3:面包屑中的链接地址不对(例如是 /plus/ 而不是 /m/)。

  • 原因:这是因为在生成链接时,DedeCMS 默认使用了电脑端的地址规则。
  • 解决:通过 runphp 来强制替换域名或路径。
    {dede:field name='position' runphp='yes'}
        // 将 http://你的域名 替换为 http://你的域名/m
        @me = str_replace('http://你的域名', 'http://你的域名/m', @me);
    {/dede:field}

    注意:如果你的网站是自适应的(通过一个模板同时适配PC和手机),或者使用了域名跳转(访问手机域名自动跳转 /m/ 目录),那么这个问题可能不存在,如果你的手机站是独立的子域名(如 m.yourdomain.com),则无需修改。


操作目标 涉及文件 核心标签/代码
修改通用文章页面包屑 /templets/mobile/index_article.htm {dede:field name='position'/}
修改首页面包屑 /templets/mobile/index.htm 手动添加HTML,如 <a href="/">首页</a>
修改特定栏目面包屑 复制 index_article.htm 并重命名,或在后台指定模板 在指定模板中修改 {dede:field name='position'/}
自定义样式和分隔符 在对应模板文件中修改 {dede:field name='position' separator=' >> '} 或配合 runphp 和CSS

修改模板后,清除后台缓存 是让修改生效最关键的一步,希望这个详细的指南能帮助你成功设置 DedeCMS 手机模板的当前位置!

-- 展开阅读全文 --
头像
dedecms织梦系统安装
« 上一篇 01-02
C语言error C2296:
下一篇 » 01-02

相关文章

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