kpac : templating; url-based searching
authorBill Erickson <berick@esilibrary.com>
Wed, 25 Jan 2012 20:26:12 +0000 (15:26 -0500)
committerBill Erickson <berick@esilibrary.com>
Wed, 4 Apr 2012 16:42:05 +0000 (12:42 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGKPacLoader.pm
Open-ILS/src/templates/kpac/category.tt2
Open-ILS/src/templates/kpac/checkout.tt2
Open-ILS/src/templates/kpac/checkout_results.tt2
Open-ILS/src/templates/kpac/detailed.tt2
Open-ILS/src/templates/kpac/parts/subpage.tt2
Open-ILS/src/templates/kpac/search_results.tt2

index 63cd098..bbbba45 100644 (file)
@@ -29,7 +29,7 @@ sub load {
     return $self->load_simple("checkout") if $path =~ m|kpac/checkout|;
     return $self->load_simple("checkout_results") if $path =~ m|kpac/checkout_results|;
     return $self->load_simple("detailed") if $path =~ m|kpac/detailed|;
-    return $self->load_simple("search_results") if $path =~ m|kpac/search_results|;
+    return $self->load_rresults if $path =~ m|kpac/search_results|; # inherited from tpac
 
     # ----------------------------------------------------------------
     #  Everything below here requires SSL
index eab0e2d..0a63e9d 100644 (file)
@@ -1,14 +1,12 @@
-[%  
-    PROCESS "opac/parts/header.tt2";
+[%  PROCESS "opac/parts/header.tt2";
     PROCESS "kpac/parts/grid.tt2";
     WRAPPER "kpac/parts/subpage.tt2";
-    ctx.page_title = l("Sub Page");
-%]
+    ctx.page_title = ctx.kpac_layout.name %]
           
 <h2 class="sub_header2">Living Creatures</h2>
 <div class="hr">&nbsp;</div>
 <div class="sub_cat_wrapper">
-    [% render_kpac_grid(ctx.kpac_config.pages.page.10); %]
+    [% render_kpac_grid(ctx.kpac_config.pages.page.10); # TODO %]
 </div>
 
 <div class="sub_navigation1">
index 866193f..884368d 100644 (file)
@@ -1,8 +1,8 @@
-[%  
+[%  PROCESS "opac/parts/header.tt2";
+    PROCESS "kpac/parts/grid.tt2";
     WRAPPER "kpac/parts/subpage.tt2";
-    ctx.page_title = l("Sub Page");
-%]
+    ctx.page_title = l('Get it') %]
+
           <div id="search_results_parent">
             <div class="search_results checkout_item_pad">
               <div class="item_detail_image"><a href="javascript:;"><img alt="item image" src="[% ctx.media_prefix %]/images/kpac/item_image.jpg" /></a></div>
index 2821add..56686f3 100644 (file)
@@ -1,8 +1,7 @@
-[%  
+[%  PROCESS "opac/parts/header.tt2";
+    PROCESS "kpac/parts/grid.tt2";
     WRAPPER "kpac/parts/subpage.tt2";
-    ctx.page_title = l("Sub Page");
-%]
-        
+    ctx.page_title = l('Get it') %]
           
           <h2 class="sub_header2">You Got It!</h2>
           
index 2d25321..fd803b8 100644 (file)
@@ -1,8 +1,8 @@
-[%  
+[%  PROCESS "opac/parts/header.tt2";
+    PROCESS "kpac/parts/grid.tt2";
     WRAPPER "kpac/parts/subpage.tt2";
-    ctx.page_title = l("Sub Page");
-%]
+    ctx.page_title = l('Item Details') %]
+
           <!-- did somebody order the div salad? -->
           <div class="item_detail_header">
             <div class="item_detail_image"><a href="javascript:;"><img alt="item image" src="[% ctx.media_prefix %]/images/kpac/item_image.jpg" /></a></div>
index 8f3a06a..0a40a99 100755 (executable)
@@ -1,63 +1,74 @@
-[%  
-    PROCESS "opac/parts/header.tt2";
-    WRAPPER "kpac/parts/base.tt2";
-%]
+[% WRAPPER "kpac/parts/base.tt2" %]
 
-    <div class="main_top_shadow_sub">
-      <div class="main_mid_top_sub">
+<div class="main_top_shadow_sub">
+    <div class="main_mid_top_sub">
+        [%# TODO BREADCRUMBS %]
         <div class="breadcrumb">
-          <a class="bread_home"><img alt="home" src="[% ctx.media_prefix %]/images/kpac/home_icon.png" /></a>
-          <div class="bread_green_mid">&nbsp;</div>
-          <a href="javascript:;">Animals, insects, &amp; birds</a>
-          <div class="bread_green_mid">&nbsp;</div>
-          <a href="javascript:;">search results</a>
-          <div class="bread_green_mid">&nbsp;</div>
-          <a href="javascript:;">book name</a>
-          <div class="bread_green_last">&nbsp;</div>
-          <span class="bread_last">got it</span>
-          <div class="clear">&nbsp;</div>
+            <a class="bread_home"><img alt="home" src="[% ctx.media_prefix %]/images/kpac/home_icon.png" /></a>
+            <div class="bread_green_mid">&nbsp;</div>
+            <a href="javascript:;">Animals, insects, &amp; birds</a>
+            <div class="bread_green_mid">&nbsp;</div>
+            <a href="javascript:;">search results</a>
+            <div class="bread_green_mid">&nbsp;</div>
+            <a href="javascript:;">book name</a>
+            <div class="bread_green_last">&nbsp;</div>
+            <span class="bread_last">got it</span>
+            <div class="clear">&nbsp;</div>
         </div>
-      </div>
-    </div>
-    <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr>
-      <td width="3" class="main_left_shadow"><div class="clear">&nbsp;</div></td>
-      <td valign="top" class="main_inside_cell" valign="top" height="300">
-        <div class="main_content_wrapper">
-        
-<!-- ******************************************** main content body start **************************************** -->
-          
-          
-         [% content %] 
-          
-          
-<!-- **************************************************** end content body ************************************************ -->
-          
-          <div class="clear">&nbsp;</div>
-        </div>
-      </td>
-      <td width="266" valign="top" class="sub_sidebar">
-        <div class="sub_sidebar_inner">
-          <div class="sub_sidebar_header">New Search</div>
-          <div class="sub_sidebar_search_wrapper"><input type="text" class="sub_sidebar_search_box" style="color:#aaa;" value=" Enter Text... " onfocus="if(this.value==' Enter Text... '){this.value='';this.style.color='#424242';}" onblur="if(this.value==''){this.value=' Enter Text... '; this.style.color='#aaa';}" /></div>
-          <table cellpadding="0" cellspacing="0" border="0" class="sub_sidebar_search_st"><tr>
-            <td class="st_radio_btn"><input type="radio" name="search_type" checked="checked" id="st_word" class="st_word" /></td><td class="st_label"><label for="st_word">Word</label></td>
-            <td class="st_radio_spacer"><div>&nbsp;</div></td>
-            <td class="st_radio_btn"><input type="radio" name="search_type" id="st_title" class="st_title" /></td><td class="st_label"><label for="st_title">Title</label></td>
-            <td class="st_radio_spacer"><div>&nbsp;</div></td>
-            <td class="st_radio_btn"><input type="radio" name="search_type" id="st_author" class="st_author" /></td><td class="st_label"><label for="st_author">Author</label></td>
-          </tr></table>
-          <div class="hr">&nbsp;</div>
-          <div class="sub_search_category"><select class="search_category" name="search_category"><option>Children's Material</option></select></div>
-          <div class="hr">&nbsp;</div>
-          <div><a href="javascript:;"><img alt="search" src="[% ctx.media_prefix %]/images/kpac/search_btn_sub.png" /></a></div>
-        </div>
-        
-      </td>
-      <td width="3" class="main_right_shadow"><div class="clear">&nbsp;</div></td>
-    </tr></table>
-    <div class="main_bottom_shadow">
-      <div class="main_mid_bottom_sub">&nbsp;</div>
     </div>
+</div>
+<table cellpadding="0" cellspacing="0" border="0" width="100%">
+    <tr>
+        <td width="3" class="main_left_shadow"><div class="clear">&nbsp;</div></td>
+        <td valign="top" class="main_inside_cell" valign="top" height="300">
+            <div class="main_content_wrapper">
+                [% content %] 
+                <div class="clear">&nbsp;</div>
+            </div>
+        </td>
+        <td width="266" valign="top" class="sub_sidebar">
+            <div class="sub_sidebar_inner">
+                <div class="sub_sidebar_header">New Search</div>
+                <div class="sub_sidebar_search_wrapper">
+                    <input type="text" 
+                        class="sub_sidebar_search_box" style="color:#aaa;" value=" Enter Text... " 
+                        onfocus="if(this.value==' Enter Text... '){this.value='';this.style.color='#424242';}" 
+                        onblur="if(this.value==''){this.value=' Enter Text... '; this.style.color='#aaa';}" />
+                </div>
+                <table cellpadding="0" cellspacing="0" border="0" class="sub_sidebar_search_st">
+                    <tr>
+                        <td class="st_radio_btn">
+                            <input type="radio" name="search_type" checked="checked" id="st_word" class="st_word" />
+                        </td>
+                        <td class="st_label"><label for="st_word">Word</label></td>
+                        <td class="st_radio_spacer"><div>&nbsp;</div></td>
+                        <td class="st_radio_btn">
+                            <input type="radio" name="search_type" id="st_title" class="st_title" />
+                        </td>
+                        <td class="st_label"><label for="st_title">Title</label></td>
+                        <td class="st_radio_spacer"><div>&nbsp;</div></td>
+                        <td class="st_radio_btn">
+                            <input type="radio" name="search_type" id="st_author" class="st_author" />
+                        </td>
+                        <td class="st_label"><label for="st_author">Author</label></td>
+                    </tr>
+                </table>
+                <div class="hr">&nbsp;</div>
+                <div class="sub_search_category">
+                    <select class="search_category" name="search_category">
+                        <option>Children's Material</option>
+                    </select>
+                </div>
+                <div class="hr">&nbsp;</div>
+                <div>
+                    <a href="javascript:;"><img alt="search" src="[% ctx.media_prefix %]/images/kpac/search_btn_sub.png" /></a>
+                </div>
+            </div>
+        </td>
+        <td width="3" class="main_right_shadow"><div class="clear">&nbsp;</div></td>
+    </tr>
+</table>
+<div class="main_bottom_shadow"><div class="main_mid_bottom_sub">&nbsp;</div></div>
 
 [% END %]  
   
index 30dca06..e241606 100644 (file)
@@ -1,71 +1,94 @@
-[%  
+[%  PROCESS "opac/parts/header.tt2";
+    PROCESS "opac/parts/misc_util.tt2"; # MARC 
+    PROCESS "kpac/parts/grid.tt2";
     WRAPPER "kpac/parts/subpage.tt2";
-    ctx.page_title = l("Sub Page");
-%]     
+
+    ctx.page_title = l('Search Results') 
+    ctx.result_start = 1 + ctx.page_size * page;
+    ctx.result_stop = ctx.page_size * (page + 1);
+    IF ctx.result_stop > ctx.hit_count; ctx.result_stop = ctx.hit_count; END;
+    result_count = ctx.result_start;
+%]
         
-          <h2 class="sub_header2">Search Results</h2>
-          
-          <div class="sub_navigation2">
-            <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr>
-              <td><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/arrow_last.png" /></a></td>
-              <td width="100%" class="nav_mid_bg">
-                <table cellpadding="0" cellspacing="0" border="0" align="center"><tr><td>Page </td><td class="current_page">3</td><td> of </td><td class="total_pages">12</td></tr></table>
-              </td>
-              <td class="to_top_btn"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/arrow_next.png" /></a></td>
-            </tr></table>
-          </div>
-          
-          <div id="search_results_parent">
-            <div class="search_results" id="search_results_template">
-              <div class="item_detail_image"><a href="javascript:;"><img alt="item image" src="[% ctx.media_prefix %]/images/kpac/item_image.jpg" /></a></div>
-              <div class="item_detail_info">
-                <div class="item_detail_name">Book Name</div>
-                <div class="item_detail_author">by Author Name</div>
-                <div class="item_detail_callnumber">Call Number</div>
-                <div class="item_detail_extra_info">Publisher, Year, Size</div>
-                <div class="item_detail_actions">
-                  <div class="button"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/more_info_btn.png" alt="more info" /></a></div>
-                  <div class="button"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/get_it_btn_sm.png" alt="get it" /></a></div>
-                  <div class="clear">&nbsp;</div>
-                </div>
-              </div>
-              <div class="item_icon_wrapper">
-                <div class="item_icon">&nbsp;<img alt="book" src="[% ctx.media_prefix %]/images/kpac/icon_book.png" />&nbsp; <!-- put a single &nbsp; around each side of the image - for vertical centering --></div>
-                <div class="item_icon_type_text">Book</div>
-              </div>
-              <div class="clear">&nbsp;</div>
+<h2 class="sub_header2">Search Results</h2>
+
+<div class="sub_navigation2">
+    <table cellpadding="0" cellspacing="0" border="0" width="100%">
+        <tr>
+            <td><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/arrow_last.png" /></a></td>
+            <td width="100%" class="nav_mid_bg">
+                <table cellpadding="0" cellspacing="0" border="0" align="center">
+                    <tr>
+                        <td>Page </td>
+                        <td class="current_page">3</td>
+                        <td> of </td>
+                        <td class="total_pages">12</td>
+                    </tr>
+                </table>
+            </td>
+            <td class="to_top_btn"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/arrow_next.png" /></a></td>
+        </tr>
+    </table>
+</div>
+
+<div id="search_results_parent">
+
+[%  FOR rec IN ctx.records;
+        attrs = {marc_xml => rec.marc_xml};
+        PROCESS get_marc_attrs args=attrs %]
+
+    <div class="search_results" id="search_results_template">
+        <div class="item_detail_image">
+            [% ident = attrs.isbn_clean || attrs.upc; IF ident; %]
+                <a href="[% mkurl('detailed/' _ rec.id) %]"><img alt="[% l('Image of item') %]"
+                    width="167"
+                    src='[% ctx.media_prefix %]/opac/extras/ac/jacket/medium/[% ident | uri %]' /></a><br />
+            [% ELSE %]
+                <a href="[% mkurl('detailed/' _ rec.id) %]"><img alt="[% l('Image of item') %]"
+                    src="[% ctx.media_prefix %]/images/kpac/item_image.jpg" /></a>
+            [% END %]
+        </div>
+        <div class="item_detail_info">
+            <div class="item_detail_name"><a href="[% mkurl('detailed/' _ rec.id) %]">[% attrs.title %]</a></div>
+            <div class="item_detail_author">[% l('by [_1]', attrs.author) %]</div>
+            <div class="item_detail_callnumber">[% attrs.holdings.0.label | html %]</div>
+            <div class="item_detail_extra_info">[% l('[_1], [_2]', attrs.publisher, attrs.pubdate) | html %] <!-- TODO fix and add Size --></div>
+            <div class="item_detail_actions">
+                <div class="button"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/more_info_btn.png" alt="more info" /></a></div>
+                <div class="button"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/get_it_btn_sm.png" alt="get it" /></a></div>
+                <div class="clear">&nbsp;</div>
             </div>
-            
-            <div class="search_results">
-              <div class="item_detail_image"><a href="javascript:;"><img alt="item image" src="[% ctx.media_prefix %]/images/kpac/item_image.jpg" /></a></div>
-              <div class="item_detail_info">
-                <div class="item_detail_name">Book Name</div>
-                <div class="item_detail_author">by Author Name</div>
-                <div class="item_detail_callnumber">Call Number</div>
-                <div class="item_detail_extra_info">Publisher, Year, Size</div>
-                <div class="item_detail_actions">
-                  <div class="button"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/more_info_btn.png" alt="more info" /></a></div>
-                  <div class="button"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/get_it_btn_sm.png" alt="get it" /></a></div>
-                  <div class="clear">&nbsp;</div>
-                </div>
-              </div>
-              <div class="item_icon_wrapper">
-                <div class="item_icon">&nbsp;<img alt="book" src="[% ctx.media_prefix %]/images/kpac/icon_book.png" />&nbsp; <!-- put a single &nbsp; around each side of the image - for vertical centering --></div>
-                <div class="item_icon_type_text">Book</div>
-              </div>
-              <div class="clear">&nbsp;</div>
+        </div>
+        <div class="item_icon_wrapper">
+            <div class="item_icon">
+                &nbsp;<img width="35" alt="[% attrs.format_label %]" src="[% attrs.format_icon %]" />&nbsp; 
+                <!-- put a single &nbsp; around each side of the image - for vertical centering -->
             </div>
-          </div>
-          
-          <div class="sub_navigation3">
-            <table cellpadding="0" cellspacing="0" border="0" width="100%"><tr>
-              <td><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/arrow_last.png" /></a></td>
-              <td width="100%" class="nav_mid_bg">
-                <table cellpadding="0" cellspacing="0" border="0" align="center"><tr><td>Page </td><td class="current_page">3</td><td> of </td><td class="total_pages">12</td></tr></table>
-              </td>
-              <td><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/arrow_next.png" /></a></td>
-              <td class="to_top_btn"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/to_top_btn.png" /></a></td>
-            </tr></table>
-          </div>
-          
+        <div class="item_icon_type_text">[% attrs.format_label %]</div>
+        </div>
+        <div class="clear">&nbsp;</div>
+    </div>
+
+[% END %]
+</div>
+
+<div class="sub_navigation3">
+    <table cellpadding="0" cellspacing="0" border="0" width="100%">
+        <tr>
+            <td><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/arrow_last.png" /></a></td>
+            <td width="100%" class="nav_mid_bg">
+                <table cellpadding="0" cellspacing="0" border="0" align="center">
+                    <tr>
+                        <td>Page </td>
+                        <td class="current_page">3</td>
+                        <td> of </td><td class="total_pages">12</td>
+                    </tr>
+                </table>
+            </td>
+            <td><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/arrow_next.png" /></a></td>
+            <td class="to_top_btn"><a href="javascript:;"><img src="[% ctx.media_prefix %]/images/kpac/to_top_btn.png" /></a></td>
+        </tr>
+    </table>
+</div>
+
 [% END %]