⚠ 平台测试中。

🔎 站内全文搜索

最后更新:2026-10-02

📋 搜索页可用变量

{{.Keyword}}用户当前输入的关键词(已清洗、已截断 50 字)文本
{{.Results}}结果数组,逐条字段见下方 结果对象;无关键词或限流时为空数组数组
{{.ResultCount}}命中结果总数(= len(Results))数字
{{.SearchError}}限流时的提示文案;正常为空字符串文本
{{.PageTitle}}页面标题,形如「搜索:关键词」文本

公共变量(站点名、导航、SEO 等)与首页一致,见 02-公共标签。

🧩 结果对象({{range .Results}} 内)

{{.Type}}内容类型:新闻 / 产品 / 案例(注意是中文,不是 news/product/case)文本
{{.Title}}内容标题文本
{{.URL}}详情页链接(已带站点前缀,形态如 /news/5.htm,由后台「URL 规则」决定)URL
{{.Snippet}}摘要:取 summary 去空白后截断 120 字,为空时显示「点击查看详情」文本

💻 模板示例(默认 search.html 已内置)

<!-- 搜索框 -->
<form method="get" action="/search">
  <input type="text" name="q" value="{{.Keyword}}" placeholder="输入关键词搜索…">
  <button type="submit">搜索</button>
</form>

{{if .SearchError}}
  <p class="error">{{.SearchError}}</p>
{{end}}

{{if .Keyword}}
  <p>"{{.Keyword}}" 共找到 {{.ResultCount}} 条结果</p>
  <div class="results">
  {{range .Results}}
    <div class="result">
      <h3><a href="{{.URL}}">{{.Title}}</a><span class="tag">{{.Type}}</span></h3>
      <div class="snippet">{{.Snippet}}</div>
    </div>
  {{end}}
  </div>
{{else}}
  <p>请输入关键词开始搜索。</p>
{{end}}
📍 接口与范围说明
项说明
请求参数仅 ?q=关键词;无类型过滤、无分页、无 JSON 接口
搜索范围新闻 / 产品 / 案例三类(不含单页),每类最多 20 条
未开启后台未开启「站内搜索」时,/search 渲染错误页 error.html(提示「搜索功能未开启」)
结果排序每类按 id DESC(最新优先)