详情页: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"}
⚠️ 正文是空的?先看是不是会员门槛拦住了。 未达门槛时正文是在服务端摘掉的,
模板拿到的就是空串 —— 右键看源码也拿不到。要在那里给个登录引导,用
⚠️ 行动区(购买/下载/门槛)用一行 include:
{naicha:include file="member_gate.html"}。
⚠️ 行动区(购买/下载/门槛)用一行 include:
{naicha:include file="detail_action.html"}。
"这篇该显示购买、下载还是门槛"只有 PHP 判得准(要看是不是商品、买没买过、等级够不够),
九套版式各写一遍必然出现"有的详情页有购买按钮、有的没有"。
