首页 / 建站手册 / 首页:index.html

首页:index.html

首页能拿到哪些变量、能用哪些标签,以及一份完整的首页骨架。

模板文件:templates/你的主题/index.html | 访问地址:/(多语言站是 /en/)

这个页面拿到的变量

{seo.title}首页的 SEO 标题(「站点设置」里的标题)
{seo.keywords}SEO 关键词
{seo.desc}SEO 描述
{canonical}规范地址(多语言站按语言区分)
{currentPath}当前路径,导航高亮拿它比
{isHome}固定为 1,用来判断"这是首页"
{merchantsHome}勾了「首页推荐」的商家数组;为空时不要渲染那一节(用 notempty 判断整块)
{param.…}URL 查询参数(首页一般用不到)
{lang.*}多语言站可用:lang.html lang.dir lang.list 等

这个页面能用的标签

首页是"什么都能用"的一页 —— 下面这些全部可用:

{naicha:site} {naicha:company} {naicha:block} {naicha:brand} {naicha:icp}
{naicha:url} {naicha:param} {naicha:include} {naicha:asset} {naicha:now} {naicha:token}
{naicha:list}取任意栏目的内容(首页的"最新动态""推荐产品")
{naicha:sort}取指定栏目
{naicha:nav} {naicha:navs}栏目树 / 配好的导航
{naicha:banners}轮播图
{naicha:merchants}推荐商家
{naicha:shop}商品(商城开着时)
{naicha:tags} {naicha:gallery} {naicha:rel} {naicha:links}
{naicha:form} {naicha:user} {naicha:loop} {naicha:if}

一份完整的首页骨架

{naicha:include file="header.html"}

{!-- ① 轮播:首页那一组 -->
{naicha:banners group="home" num="5"}
  <div class="slide">
    <h2>{banner.title}</h2>
    <p>{banner.subtitle}</p>
    <a href="{banner.url}">{banner.btn_text}</a>
  </div>
{/naicha:banners}

{!-- ② 最新内容:任意栏目,按发布时间倒序 -->
{naicha:list name="news" num="6" order="publish desc"}
  <a class="card" href="{list.url}">
    {naicha:if var="list.has_thumb" eq="1"}<img src="{list.thumb_url}" alt="{list.title}">{/naicha:if}
    <h3>{list.title}</h3>
    <p>{list.summary excerpt="60"}</p>
    <span>{list.publish_time format="Y-m-d"}</span>
  </a>
{/naicha:list}

{!-- ③ 推荐商家:PHP 里已经查好一组值,为空就整节不渲染 -->
{naicha:if var="merchantsHome" notempty="1"}
<section>
  {naicha:merchants num="8" featured="1"}
    <a href="{merchant.url}"><img src="{merchant.show_shot}" alt="{merchant.show_name}"></a>
  {/naicha:merchants}
</section>
{/naicha:if}

{!-- ④ 一段可改的文案 -->
<div class="notice">{naicha:block name="site_notice" html="1"}</div>

{naicha:include file="footer.html"}
⚠️ 首页会被整页缓存。改了商家、片段、轮播之后, 首页可能还是旧的 —— 到「站点设置 → 清缓存」清一次。

⚠️ {merchantsHome} 的判空要用 notempty="1"(数组非空), 别用 eq="1" —— 那是在比字符串。
没找到答案? 可以在 联系我们 留言说明使用场景,我们会补充进文档。