Docs: improving documentation for catalog searching widgets
[Evergreen.git] / docs / opac / search_form.txt
1 Adding an Evergreen search form to a web page
2 =============================================
3
4 To enable users to quickly search your Evergreen catalog, you can add a
5 simple search form to any HTML page. The following code demonstrates
6 how to create a quick search box suitable for the header of your web
7 site:
8
9 Simple search form
10 ------------------
11
12 [source,html]
13 ------------------------------------------------------------------------------
14 <form action="http://example.com/eg/opac/results" method="get" accept-charset="UTF-8">    <!-- <1> -->
15     <input type="search" alt="Catalog Search" maxlength="200"
16             size="20" name="query"
17             placeholder="Search catalog for..." />
18     <input type="hidden" name="qtype" value="keyword" />           <!-- <2> -->
19     <input type="hidden" name="locg" value="4" />                  <!-- <3> -->
20     <input type="submit" value="Search" />
21 </form>
22 ------------------------------------------------------------------------------
23 <1> Replace ''example.com'' with the hostname for your catalog. To link to
24     the Kid's OPAC instead of the TPAC, replace ''opac'' with ''kpac''.
25 <2> Replace ''keyword'' with ''title'', ''author'', ''subject'', or ''series''
26     if you want to provide more specific searches. You can even specify
27     ''identifier|isbn'' for an ISBN search.
28 <3> Replace ''4'' with the ID number of the organizational unit at which you
29     wish to anchor your search. This is the value of the ''locg'' parameter in
30     your normal search.
31
32 Advanced search form
33 --------------------
34
35 [source,html]
36 --------------------------------------------------------------------------------
37 <form role="search" id="searchForm" method="get" class="searchform" action="http://your_catalog/eg/opac/results" accept-charset="UTF-8">
38      <label id="searchLabel" for="search"><b>Search the Catalog: </b></label>
39      <input type="search" value="" name="query" id="search" size="30">   
40      <label id="search_qtype_label"><b>Type:</b> 
41      <select name="qtype" id="qtype"    aria-label="Select query type:">
42         <option value='keyword' selected="selected">Keyword</option>
43         <option value='title'>Title</option>
44         <option value='jtitle'>Journal Title</option>
45         <option value='author'>Author</option>
46         <option value='subject'>Subject</option>
47         <option value='series'>Series</option>
48      </select>
49      </label>  &nbsp;&nbsp;
50    
51      <label id="search_itype_label"><b>Format: </b> 
52      <select id='item_type_selector' name='fi:item_type' aria-label="Select item type:">
53        <option value=''>All Formats</option>
54        <option value='a'>Books and Journals</option>
55        <option value='i'>Nonmusical Sound Recording</option>
56        <option value='j'>Musical Sound Recording</option>
57        <option value='g'>Video</option>
58        </select>  &nbsp;&nbsp;
59      </label> 
60     
61     <label id="search_locg_label"><b>Library: </b>
62     <select aria-label='Select search library'   name='locg'>
63             <option value='1' class="org_unit"> 
64                 All Libraries 
65             </option> 
66             <option value='2' selected="selected" class="org_unit"> 
67                &nbsp;&nbsp;Central Library
68             </option> 
69              <option value='10'   class="org_unit"> 
70                 &nbsp;&nbsp;&nbsp;&nbsp;Little Library
71             </option> 
72      </select>        
73      </label>
74           <input class="searchbutton" type="submit" value="SEarch" />                  
75 </form>
76 --------------------------------------------------------------------------------
77
78 Encoding
79 --------
80
81 For non English characters it is vital to set the attribute `accept-charset="UTF-8"`  in the form tag (as in the examples above). If the parameter is  not set, records with non English characters will not be retrieved.
82
83 Setting the document type
84 -------------------------
85
86 You can set the document types to be searched using the attribute `option value=` in the form. For the value use MARC 21 code defining the type of record (i.e. https://www.loc.gov/marc/bibliographic/bdleader.html[Leader, position 06]).
87
88 For example, for musical recordings you could use `<option value='j'>Musical Sound Recording</option>`
89
90 Setting the library
91 -------------------
92
93 Instead of searching the entire consortium, you can set the Library to be searched in using the attribute `option value=` in the form. For the value use Evergreen database.organization unit ID. 
94
95