0

(搜索模块)设计结构与功能说明

开发手册
admin
2023-6-20 84

根据熊掌影视导航系统的数据库字段能发现,视频、专题、评论、文章、是分别存放于不同表的,所以在搜索时一般情况下需要做搜索表的选择,我们这里是根据(系统模块SID)来判断要搜索的范围。

参考熊掌影视导航系统的URL路径结构,除了视频、文章需要此功能外、其它模块不常用、故只开发了的视频与文章的搜索功能,其对应的默认URL分别为 index.php?s=vod-search,index.php?s=news-search,同时支持POST与GET提交,关键字默认字段为wd。

熊掌影视再次优化了对系统搜索的处理,通过系统 JS 库能做到监听输入关键字是否为空判断;回车键直接提交对应的表单;兼容系统伪静态配置;搜索联想下单功能配置;自动根据系统模块切换搜索结果处理模块;其最简洁的表单代码如下,并做如下说明。

系统根据 bootstrap3 框架设计了几种搜索区块组件,放置于默认模板的 BlockBase/search_***.html,有个性需求修改的可以参考。

Html基础代码

<form class="navbar-form navbar-right xz-search" action="{$root}index.php?s=vod-search" method="post" data-sid="{$site_sid}" data-limit="{:C('ui_search_limit')}" data-action="{:xz_url('vod/search',array('wd'=>'XZWD'), true)}" data-action-news="{:xz_url('news/search',array('wd'=>'FFWD'), true)}">
<input type="text" class="form-control xz-wd" name="wd" placeholder="请输入影片名称">
<button type="submit" class="btn btn-default">搜索</button>
</form>

参数说明

  • action 默认表单提交地址,JS事件监听失效时将提交到此地址
  • method 默认表单提交类型,JS事件监听失效时才有用,JS监听正常时统一处理为GET方式,便于分享与伪静态优化。
  • data-sid 系统模块ID,因系统只对视频与文章有搜索功能,所以当sid=2(文章)模块时,JS才会对其做搜索转向处理,转向的路径由后面的data-action-news处理,如果没有定义data-action-news则系统自动将action处理为index.php?s=news-search。
  • data-limit 搜索联想功能,由后台>全局配置>模板界面里面的参数配置,不添加该自定义配置或后台配置为0则不启用该功能。
  • data-action 默认搜索转向链接,正是定义了该配置才可以通过JS的跳转功能统一处理为GET方式,FFWD为关键字变量,在JS处理时将FFWD替换为用户输入的关键字,并做了URL编码处理。如果不需要使有这种方式处理则去掉该配置。
  • data-action-news 定义文章搜索转向链接,与data-action一样,定义了该配置系统JS才会对搜索的关键字做JS转向链接按GET方式搜索。如果不需要使有这种方式处理则去掉该配置。
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!