
帝国CMS的搜索结果页面默认使用系统预设模板,但为了与网站整体风格统一或实现特定功能,通常需要对搜索结果页进行模板自定义。实现这一目标的关键在于正确调用和修改对应的搜索模板文件,并理解其标签结构。
1. 找到搜索结果模板位置
登录后台后,进入“模板” → “公共模板变量” → “搜索模板”,可以看到“搜索结果模板(search)”这一项。这个模板控制了全局搜索结果页面的显示样式。也可以在“管理数据表”中找到对应的数据模型(如新闻系统表),设置其独立的搜索结果模板。
2. 编辑搜索模板内容
点击编辑搜索模板后,可以使用以下常用变量:
[!–news.url–]:网站根地址 [!–title–]:搜索结果标题 [!–smalltext–]:简介内容 [!–classurl–]:栏目链接 [!–classid–]:栏目ID [!–onclick–]:点击数 [!–titleurl–]:文章链接 [!–newstime–]:发布时间(需用date转换格式)
示例代码片段:
<li> <a href="[!–titleurl–]" target="_blank">[!–title–]</a> <p>[!–smalltext–]…</p> <span>发布时间:[!–newstime–]</span></li>
3. 自定义CSS样式与HTML结构
可以在模板中直接加入HTML结构和内联样式,或引用外部CSS文件增强展示效果。例如:
<link rel="stylesheet" href="/skin/css/search.css"><div class="search-result"> [!–empirenews.listtemp–] <!–list.var1–> [!–empirenews.listtemp–]</div>
注意:[!–empirenews.listtemp–] 是列表循环标识,不能删除,其中的内容为每条记录的显示模板。
4. 使用动态标签增强功能
若需更复杂逻辑(如判断是否有图片、添加高亮关键词),可启用支持程序代码的模板选项,在模板中使用PHP处理:
开启“使用程序代码”后,可用 $r 变量获取当前记录字段 通过 $public_r[‘searchkey’] 获取用户搜索词 示例:关键词高亮显示$title = str_replace($_GET[‘keyboard’], "<em style=’color:red;’>$_GET[keyboard]</em>", $r[‘title’]);
基本上就这些操作。只要清楚模板路径、掌握常用变量和循环结构,就能灵活定制搜索结果页的外观和功能。修改后记得更新页面缓存查看效果。

评论(0)