商家页:merchants.html / merchant_detail.html
推荐商家的列表页与详情页:字段怎么回落、浏览量什么时候加。
模板文件:merchants.html(列表)/merchant_detail.html(详情)
访问地址:/merchants / /merchants/3 / 点「访问网站」走 /merchants/go/3
列表页 merchants.html
{naicha:merchants}取商家。num 条数、featured="1" 只取勾了「首页推荐」的{seo.*} {currentPath}照常。列表页拿不到商家的行数据 —— 行数据在循环里详情页 merchant_detail.html
{m.…}当前商家整行:show_name show_logo show_shot
intro url host hits address email
phone hours reviews is_auto stale fetched_txt{others}另外推荐的几个商家(数组),配 {naicha:loop} 展开{seo.*}照常商家字段的三级回落(列表与详情通用)
商家名和图标不一定要你填:没填时引擎会依次回落到自动抓取的页面标题、站点图标、最后是域名。
模板里一律用展示值(show_*),不要自己拼:
{merchant.show_name}该显示的名称:自定义 → 自动抓的页面标题 → 网址{merchant.show_logo}该显示的图标:自己传的 → 自动抓的站点图标{merchant.show_shot}该显示的主图:自己指定的 → 在线实时截图一份完整的列表页
{naicha:include file="header.html"}
{naicha:merchants num="60"}
<a class="mcard" href="/merchants/{merchant.id}">
<img src="{merchant.show_shot}" alt="{merchant.show_name}" loading="lazy">
<b>{merchant.show_name}</b>
<i>{merchant.host}</i>
<p>{merchant.intro}</p>
<span>浏览 {merchant.hits}</span>
</a>
{/naicha:merchants}
{naicha:include file="footer.html"}
⚠️ 卡片外层不能是
⚠️
⚠️ 实时截图来自第三方公开服务(WordPress mShots,免密钥):SPA 或需要登录的站常被拍成白屏, 所以必须允许自己指定主图;另外模板里要给它
<a>,如果里面还要放"访问网站"的链接 ——
浏览器不允许 a 标签套 a 标签。做成 <div>,标题区点进详情、右下角按钮走
/merchants/go/<id>(会先计数再 302 跳走)。
⚠️
hits 只在点「访问网站」时 +1,打开详情页不加。
⚠️ 实时截图来自第三方公开服务(WordPress mShots,免密钥):SPA 或需要登录的站常被拍成白屏, 所以必须允许自己指定主图;另外模板里要给它
loading="lazy",否则一次列表页会朝外网打出几十个请求。
