Skip to content

dp2OPAC searchbiblio.aspx 增加 library 和 filter 参数 #1212

Description

@DigitalPlatform

某用户单位提出希望在门户网站的检索页面触发提交检索请求到 dp2OPAC 的时候,希望只检索一个分馆的书目记录,不要命中和显示同一实例中的其它分馆的书目记录。

为此 searchbiblio.aspx 增加了一个 filter (馆藏地过滤)参数。
filter 参数的内容格式为:*A-B+C 其中,*表示AND,-表示SUB,+表示OR,A、B、C分别是结果集名称。当* - + 符号缺省时,表示AND关系。例如 "海淀分馆",表示 "*海淀分馆",作用为将当前命中的结果集和一个预先准备好的表示“海淀分馆”的全部书目记录的结果集进行 AND 运算,这样就会只返回命中的结果中属于这个分馆的部分记录。

另外,还为 searchbiblio.aspx 增加了一个 library (分馆馆代码)参数。这个参数表示在书目检索命中后,会过滤限定只显示选定分馆的册记录。注意,所有分馆的书目记录都在检索范围,即便是指定的分馆并没有这种书目下属的册,也会命中显示。也就是说,library 参数并不会影响到书目记录的范围。

更早时候,login.aspx 就有了 library 参数,用途和 searchbiblio.aspx 的同名参数是一样的。参数值的分馆名还会显示到 OPAC 页面的右上角(分馆列表中当前选定的分馆)。

为了测试验证 searchbiblio.aspx 中这两个新增的 URL 命令行参数,可以参考下面内容建立一个静态网页:

<html>
<body>
<form action="http://localhost:8081/dp2OPAC/searchbiblio.aspx" method="get">
   检索词:<input name="word" type="text" /><br/>
   书目库名: <input name="dbname" value="中文图书" /><br/>
   检索途径: <input name="from" value="title"/><br/>
   (过滤书目的)分馆馆代码: <input name="filter" value="海淀分馆"/><br/>
   (过滤册的)分馆馆代码: <input name="library" value="海淀分馆"/><br/>
    <input type="submit" value="检索" />
</form>

</body>
</html>

注意,测试时如果想要利用一个空检索词进行检索,需要在浏览器页面 input 输入框中输入一个空格。不然,如果用空的检索词,只会跳到 searchbiblio.aspx 的检索式画面,不会触发检索。

改动的代码请参看:
dde262f

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions