Skip to content

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

@DigitalPlatform

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions