首页 / 建站手册 / 详情页:detail.html

详情页:detail.html

内容详情页:正文、目录、评论、商品与付费解锁,以及九套官方版式怎么选。

模板文件:detail.html(默认);可以给栏目或单篇内容指定 detail_*.html 里的某一套版式。文件不存在时自动回落到 detail.html。
访问地址:/detail/别名 或 /detail/12

这个页面拿到的变量

{detail.…}当前内容整行,字段与 {naicha:list} 完全一致, 另有 cats/model_label/gallery/rel(见下)
{detail.cats}所属栏目数组(一篇可以属于多个栏目),配 {naicha:loop}
{detail.model_label}内容模型的中文名,适合做标题旁的角标
{detail.rel}关联内容数组
{category.…}当前栏目(主栏目)
{crumbs}面包屑数组
{hasShop}'1'/'0':这篇是不是商品。判空用 eq="1"
{shopItem.…}商品信息(price buyable why 等)
{shopUnlock.…}付费解锁状态
{loginUrl}登录地址(引导未登录用户时用)
{seo.*} {canonical} {currentPath} {lang.*}和别页一样

这个页面能用的标签

{naicha:detail}内容块(也可以直接取 {detail.…})
{naicha:detailbody}正文,会给 h2/h3 自动加锚点 —— 要在同页放目录就必须用它
{naicha:toc}正文目录(按 detailbody 加的锚点生成)
{naicha:comments} {naicha:commentcount}评论区 / 评论数
{naicha:rel} {naicha:gallery} {naicha:tags}相关推荐 / 图集 / 这篇的标签
{naicha:list}侧栏"相关文章""同一栏目的其它内容"
{naicha:form} {naicha:user} {naicha:if} {naicha:loop}
公共标签site/block/include/asset/url/param/now/token 等照常用

一份完整的详情页

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

{naicha:detail}
<article>
  {naicha:include file="detail_head.html"}   <!-- 封面/标签/标题/元信息/摘要 -->

  <div class="body">{naicha:detailbody}</div>

  {naicha:if var="detail.has_gallery" eq="1"}
  <div class="gallery">
    {naicha:gallery num="30"}
      <figure><img src="{photo.url}" alt="{photo.alt}" loading="lazy">
        <figcaption>第 {photo.index} 张</figcaption></figure>
    {/naicha:gallery}
  </div>
  {/naicha:if}

  <div class="tags">{naicha:tags num="20"}<a href="/tag/{tag.name urlencode="1"}">#{tag.name}</a>{/naicha:tags}</div>

  {naicha:rel num="6"}
    <a href="{rel.url}">{rel.title}</a>
  {/naicha:rel}

  <div class="comments">{naicha:comments}</div>
</article>
{/naicha:detail}

{naicha:include file="footer.html"}
⚠️ 正文是空的?先看是不是会员门槛拦住了。 未达门槛时正文是在服务端摘掉的, 模板拿到的就是空串 —— 右键看源码也拿不到。要在那里给个登录引导,用 {naicha:include file="member_gate.html"}。

⚠️ 行动区(购买/下载/门槛)用一行 include:{naicha:include file="detail_action.html"}。 "这篇该显示购买、下载还是门槛"只有 PHP 判得准(要看是不是商品、买没买过、等级够不够), 九套版式各写一遍必然出现"有的详情页有购买按钮、有的没有"。
没找到答案? 可以在 联系我们 留言说明使用场景,我们会补充进文档。