You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Google Blogger模板关于页及导航active类失效问题咨询

自定义Google Blogger模板两个问题的解决方法

1. 关于页内容与首页完全一致问题

原因是你的模板没有针对页面类型做条件渲染,默认所有页面都加载了首页的博文列表逻辑。
Blogger提供了data:view系列属性判断当前页面类型:

  • data:view.isHomepage:是否为首页
  • data:view.isPage:是否为独立静态页面(包括关于页、声明页等你在后台创建的页面)
  • data:post.body:静态页面在后台编辑的独立内容,需要在页面渲染逻辑中调用该属性才能输出

你需要修改模板的主内容渲染区代码,加入条件判断:

<!-- 首页渲染逻辑 -->
<b:if cond='data:view.isHomepage'>
  <!-- 原有首页博文列表、分页等代码放在这里 -->
</b:if>

<!-- 静态页面渲染逻辑 -->
<b:if cond='data:view.isPage'>
  <h2 class="page-title"><data:post.title/></h2>
  <div class="page-content">
    <data:post.body/>
  </div>
</b:if>

修改后访问静态页面就会输出你在后台为关于页填写的独立内容,不会再显示首页内容。

2. 导航栏active类不生效问题

你的代码错误点在于URL拼接逻辑:data:blog.homepageUrl默认末尾自带斜杠/,你拼接的字符串是"p/about.html",最终拼接结果为https://mywebsite.com//p/about.html,和实际页面地址https://mywebsite.com/p/about.html多了一个斜杠,所以条件不成立,active类不会添加。

提供两种更稳妥的修复写法:

写法1:修正URL拼接逻辑

<li class='nav-item'>
  <a class='nav-link' href='/p/about.html'>
    <b:class cond='data:blog.url == data:blog.homepageUrl + "p/about.html"' name='active'/>
    <i class='fas fa-user fa-fw me-2'/>
    About Me
  </a>
</li>

写法2:路径包含判断(更通用,不受域名变更影响)

<li class='nav-item'>
  <a class='nav-link' href='/p/about.html'>
    <b:class cond='data:blog.url contains "/p/about.html"' name='active'/>
    <i class='fas fa-user fa-fw me-2'/>
    About Me
  </a>
</li>

内容的提问来源于stack exchange,提问作者WiperR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:15:03