Koha/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt
Owen Leonard 15c3be55af Bug 27628: Fix minor HTML markup errors in OPAC search results templates
This patch makes a couple of minor corrections to templates related to
OPAC search results: An errant quote, and invalidly repeating ids.

The #login4tags id is changed to a class, and CSS related to this id
(which was not used) is removed. For consistency, the id is changed to a
class on the detail page as well.

To test, apply the patch and rebuild the OPAC CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).

 - Perform a search in the OPAC. Confirm that the "Log in to add tags"
   link still looks correct at various browser widths.
 - Confirm that it works to trigger the login modal.
 - Validate the source of the page. There should be no errors.

 - View the detail page for a bibliographic record.
 - The "Log in to add tags" link should look correct and work correctly.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-02-08 14:56:00 +01:00

1854 lines
118 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE Math %]
[% USE Koha %]
[% USE KohaDates %]
[% USE Branches %]
[% USE TablesSettings %]
[% USE AuthorisedValues %]
[% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsShowOnDetail ) %]
[% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsInputOnDetail ) %]
[% IF Koha.Preference('AmazonAssocTag') %]
[% AmazonAssocTag = '?tag=' _ Koha.Preference('AmazonAssocTag') %]
[% ELSE %]
[% AmazonAssocTag = '' %]
[% END %]
[% SET AdlibrisEnabled = Koha.Preference('AdlibrisCoversEnabled') %]
[% SET AdlibrisURL = Koha.Preference('AdlibrisCoversURL') %]
[% ShowCourseReservesHeader = 0 %]
[% IF Koha.Preference( 'UseCourseReserves' ) == 1 %]
[% FOREACH ITEM_RESULT IN itemloop %]
[% IF ITEM_RESULT.course_reserves %]
[% FOREACH r IN ITEM_RESULT.course_reserves %]
[% IF r.course.enabled == 'yes' %]
[% ShowCourseReservesHeader = 1 %]
[% END %]
[% END %]
[% END %]
[% END %]
[% END %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog &rsaquo; Details for: [% INCLUDE 'biblio-title-head.inc' %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% Asset.css("lib/emoji-picker/css/emoji.css") | $raw %]
[% IF ( Koha.Preference('OPACShowMusicalInscripts') ) %]
[% Asset.css("lib/verovio/midiplayer.css") | $raw %]
[% END %]
</head>
[% BLOCK cssinclude %][% END %]
[% INCLUDE 'bodytag.inc' bodyid='opac-detail' bodyclass='scrollto' %]
[% INCLUDE 'masthead.inc' %]
<div class="main">
<nav aria-label="breadcrumb">
<ul class="breadcrumb">
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-main.pl">Home</a>
</li>
<li class="breadcrumb-item" aria-current="page">
<a href="#"><span>Details for: </span>[% INCLUDE 'biblio-title.inc' %]</a>
</li>
</ul>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-lg-9">
<div id="catalogue_detail_biblio" class="maincontent" data-biblionumber="[% biblio.biblionumber | html %]">
<div id="bookcover">
[% IF ( biblio.title ) %]
[% img_title = biblio.title %]
[% ELSE %]
[% img_title = biblio.biblionumber %]
[% END %]
[% IF ( OPACLocalCoverImages ) %]
<div title="[% img_title | html %]" class="[% biblio.biblionumber | html %]" id="local-thumbnail-preview"></div>
[% END %]
[% IF ( AdlibrisEnabled && normalized_isbn ) %]
<a href="[% AdlibrisURL | url %]?isbn=[% normalized_isbn | uri %]"><img src="[% AdlibrisURL | url %]?isbn=[% normalized_isbn | uri %]" alt="Cover image" class="adlibris-cover-big" /></a>
[% END %]
[% IF ( OPACAmazonCoverImages ) %]
[% IF ( OPACURLOpenInNewWindow ) %]
<a href="http://www.amazon[% AmazonTld | uri %]/gp/reader/[% normalized_isbn | uri %][% AmazonAssocTag | uri %]#reader-link" target="_blank" rel="noreferrer">
[% ELSE %]
<a href="http://www.amazon[% AmazonTld | uri %]/dp/[% normalized_isbn | uri %][% AmazonAssocTag | uri %]">
[% END %]
<img src="https://images-na.ssl-images-amazon.com/images/P/[% normalized_isbn | html %].01.MZZZZZZZ.jpg" alt="Cover image" /></a>
[% END %]
[% IF ( SyndeticsEnabled && SyndeticsCoverImages ) %]
[% IF ( content_identifier_exists ) %]
<img src="https://secure.syndetics.com/index.aspx?isbn=[% normalized_isbn | html %]/[% SyndeticsCoverImageSize | html %].GIF&amp;client=[% SyndeticsClientCode | html %]&amp;type=xw10&amp;upc=[% normalized_upc | html %]&amp;oclc=[% normalized_oclc | html %]" alt="" class="thumbnail" />
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF ( GoogleJackets ) %]
<div title="[% img_title | html %]" class="[% normalized_isbn | html %]" id="gbs-thumbnail-preview"></div>
[% END %]
[% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
[% coce_id = normalized_ean || normalized_isbn | html %]
<div title="[% img_title | html %]" class="[% coce_id | html %]" id="coce-thumbnail-preview"></div>
[% END %]
[% IF OpenLibraryCovers %]
<div title="[% img_title | html %]" class="[% normalized_isbn | html %]" id="openlibrary-thumbnail-preview"></div>
[% END %]
[% bt_id = ( normalized_upc || normalized_isbn ) %]
[% IF ( BakerTaylorEnabled && bt_id ) %]
[% IF BakerTaylorBookstoreURL %]
[% IF ( OPACURLOpenInNewWindow ) %]
<a href="https://[% BakerTaylorBookstoreURL | url %][% bt_id | url %]" target="_blank" rel="noreferrer"><img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" /></a>
[% ELSE %]
<a href="https://[% BakerTaylorBookstoreURL | url %][% bt_id | url %]"><img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" /></a>
[% END %]
[% ELSE %]
<img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" />
[% END %]
[% END %]
[% IF Koha.Preference('OPACCustomCoverImages') AND Koha.Preference('CustomCoverImagesURL') %]
[% SET custom_cover_image_url = biblio.custom_cover_image_url %]
[% IF custom_cover_image_url %]
[% IF ( OPACURLOpenInNewWindow ) %]
<a class="custom_cover_image" href="[% custom_cover_image_url | url %]" target="_blank" rel="noreferrer"><img alt="Cover image" src="[% custom_cover_image_url | url %]" /></a>
[% ELSE %]
<a class="custom_cover_image" href="[% custom_cover_image_url | url %]"><img alt="Cover image" src="[% custom_cover_image_url | url %]" /></a>
[% END %]
[% END %]
[% END %]
</div><!-- / #bookcover -->
<abbr class="unapi-id" title="koha:biblionumber:[% biblio.biblionumber | html %]"><!-- unAPI --></abbr>
[% IF ( ocoins ) # COinS / Openurl %]
<span class="Z3988" title="[% ocoins | html %]"></span>
[% END %]
<div id="views">
<span class="view current-view"><span id="Normalview"><i class="fa fa-file-text-o" aria-hidden="true"></i> Normal view</span></span>
<span class="view">
<a id="MARCview" class="btn btn-link" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% biblio.biblionumber | html %]"><i class="fa fa-list-alt" aria-hidden="true"></i> MARC view</a>
</span>
[% IF ( ISBD ) %]
<span class="view"><a id="ISBDview" class="btn btn-link" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% biblio.biblionumber | html %]"><i class="fa fa-list-ul" aria-hidden="true"></i> ISBD view</a></span>
[% END %]
</div>
[% IF ( OPACXSLTDetailsDisplay ) %]
[% XSLTBloc | $raw %]
[% ELSE %]
<h2 class="title">[% INCLUDE 'biblio-title.inc' %]</h2>
[% IF ( author ) %]
<span class="results_summary author h3">by <a class="contributors" href="/cgi-bin/koha/opac-search.pl?q=au:[% author |url %]">[% author | html %]</a></span>
[% END %]
<span class="results_summary">
[% IF ( unititle ) %], [% unititle | html %][% END %]
</span>
[% IF ( MARCAUTHORS ) %]
<div class="results_summary">
<span class="label">Additional authors:</span>
[% FOREACH MARCAUTHOR IN MARCAUTHORS %]
[% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %]
[% MARCAUTHOR_SUBFIELDS_LOO.separator | html %]
[% IF ( MARCAUTHOR.authoritylink ) %]
<a title="‡[% MARCAUTHOR_SUBFIELDS_LOO.code | html %] [% MARCAUTHOR_SUBFIELDS_LOO.value | html %]" class="contributors authority_link" data-authid="[% MARCAUTHOR.authoritylink | html %]" href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN MARCAUTHOR_SUBFIELDS_LOO.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]">
[% ELSE %]
<a title="‡[% MARCAUTHOR_SUBFIELDS_LOO.code | html %] [% MARCAUTHOR_SUBFIELDS_LOO.value | html %]" class="contributors" href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN MARCAUTHOR_SUBFIELDS_LOO.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]">
[% END %]
[% MARCAUTHOR_SUBFIELDS_LOO.value | html %]</a>
[% END %]
[% IF (MARCAUTHOR.authoritylink) %]
<a class="authlink" href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% MARCAUTHOR.authoritylink | html %]"><i class="fa fa-search" aria-hidden="true"></i></a>
[% END %]
[% IF IDREF and MARCAUTHOR.unimarc3 %]
<a href="/cgi-bin/koha/opac-idref.pl?unimarc3=[% MARCAUTHOR.unimarc3 | uri %]" title="IdRef" rel="gb_page_center[600,500]">IdRef</a>
[% END %]
[% UNLESS ( loop.last ) %]|[% END %]
[% END # /FOREACH MARCAUTHORS %]
</div>
[% END # IF MARCAUTHORS %]
[% IF ( MARCSERIES ) %]
<span class="results_summary series"><span class="label">Series:</span>
[% FOREACH MARCSERIE IN MARCSERIES %]
[% FOREACH MARCSERIES_SUBFIELDS_LOO IN MARCSERIE.MARCSERIES_SUBFIELDS_LOOP %]
[% IF ( MARCSERIES_SUBFIELDS_LOO.value ) %]
<a href="/cgi-bin/koha/opac-search.pl?q=se:[% MARCSERIES_SUBFIELDS_LOO.value |url %]">[% MARCSERIES_SUBFIELDS_LOO.value | html %]</a>
[% END %]
[% IF ( MARCSERIES_SUBFIELDS_LOO.volumenum ) %]
. [% MARCSERIES_SUBFIELDS_LOO.volumenum | html %]
[% END %]
[% END %]
[% UNLESS ( loop.last ) %]|[% END %]
[% END # / FOREACH MARCSERIES %]
</span>
[% END # /MARCSERIES %]
[% IF ( editionstatement ) %]
<span class="results_summary edition"><span class="label">Edition statement:</span>[% editionstatement | html %][% IF ( editionresponsibility ) %]/[% editionresponsibility | html %][% END %]</span>
[% END %]
[% IF ( publishercode ) %]
<span class="results_summary publisher"><span class="label">Published by :</span>
<a href="/cgi-bin/koha/opac-search.pl?q=pb:[% publishercode |url %] ">
[% publishercode | html %]
</a> [% IF ( place ) %]([% place | html %])[% END %] [% IF ( publicationyear ) %], [% publicationyear | html %][% END %]
</span>
[% END %]
[% IF ( pages ) %]
<span class="results_summary physical"><span class="label">Physical details:</span> [% pages | html %] [% illus | html %] [% size | html %]</span>
[% END %]
[% IF ( MARCISBNS ) %]
<span class="results_summary isbn"><span class="label">ISBN:</span>[% FOREACH MARCISBN IN MARCISBNS %][% MARCISBN | html %][% IF ( loop.last ) %].[% ELSE %]; [% END %][% END %]</span>
[% ELSE %]
[% IF ( normalized_isbn ) %]
<span class="results_summary isbn"><span class="label">ISBN: </span>[% normalized_isbn | html %]</span>
[% END %]
[% END %]
[% IF ( issn ) %]
<span class="results_summary issn"><span class="label">ISSN:</span>[% issn | html %]</span>
[% END %]
[% IF ( collectiontitle ) %]
<span class="results_summary collection"><span class="label">Collection: </span>
[% collectiontitle | html %]
[% IF ( collectionissn ) %] [% ', ISSN ' _ collectionissn | html %][% END %]
[% IF ( collectionvolume ) %] [% ' ; ' _ collectionvolume | html %] [% END %]
</span>
[% END %]
[% IF ( unititles ) %]
<span class="results_summary unititle"><span class="label">Uniform titles:</span>
[% FOREACH unititle IN unititles %]
[% unititle.unititle | html %] ;
[% END %]
</span>
[% END %]
[% IF ( MARCSUBJCTS ) %]
<div class="results_summary subjects">
<span class="label">Subject(s):</span>
[% FOREACH MARCSUBJCT IN MARCSUBJCTS %]
[% subjectsloop = loop %]
[% FOREACH SUBFIELD IN MARCSUBJCT.MARCSUBJECT_SUBFIELDS_LOOP %]
[% SUBFIELD.separator | html %]
<a title="[% '$' _ SUBFIELD.code _ ' ' _ SUBFIELD.value | html %]" class="subject" href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN SUBFIELD.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]">[% SUBFIELD.value | html %]</a>
[% END %]
[% IF (MARCSUBJCT.authoritylink) %]
<a class="authlink" href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% MARCSUBJCT.authoritylink | html %]"><i class="fa fa-search" aria-hidden="true"></i></a>
[% END %]
[% UNLESS ( loop.last ) %] | [% END %]
[% END # / FOREACH MARCSUBJCTS %]
</div>
[% ELSE # /IF MARCSUBJCTS %]
[% IF ( subjects ) %]
<span class="results_summary subjects"><span class="label">Subject(s):</span> [% FOREACH subject IN subjects %]<a class="subject" href="/cgi-bin/koha/opac-search.pl?q=su:[% subject.subject |url %]">[% subject.subject | html %]</a> | [% END %]</span>
[% END %]
[% END # /IF MARCSUBJCTS %]
[% IF ( copyrightdate ) %]
<span class="results_summary year"><span class="label">Year: </span>[% copyrightdate | html %]</span>
[% END %]
[% IF ( MARCURLS ) %]
<div class="results_summary online_resources"><span class="label">Online resources:</span>
<ul>
[% FOREACH MARCurl IN MARCURLS %]
<li>[% IF ( MARCurl.part ) %][% MARCurl.part | html %]<br />[% END %]
[% IF ( OPACURLOpenInNewWindow ) %]
[% IF trackclicks == 'track' || trackclicks == 'anonymous' %]
<a href="/cgi-bin/koha/tracklinks.pl?uri=[% MARCurl.MARCURL | uri %]&amp;biblionumber=[% biblio.biblionumber | uri %]" title="[% MARCurl.MARCURL | html %]" target="_blank" rel="noreferrer">
[% ELSE %]
<a href="[% MARCurl.MARCURL | url %]" title="[% MARCurl.MARCURL | html %]" target="_blank" rel="noreferrer">
[% END %]
[% ELSE %]
[% IF trackclicks == 'track' || trackclicks == 'anonymous' %]
<a href="/cgi-bin/koha/tracklinks.pl?uri=[% MARCurl.MARCURL | uri %]&amp;biblionumber=[% biblio.biblionumber | uri %]" title="[% MARCurl.MARCURL | html %]">
[% ELSE %]
<a href="[% MARCurl.MARCURL | url %]" title="[% MARCurl.MARCURL | html %]">
[% END %]
[% END %]
[% MARCurl.linktext | html %]</a>
[% IF ( MARCurl.notes ) %]
<ul>
[% FOREACH note IN MARCurl.notes %]
<li>[% note.note | html %]</li>
[% END %]
</ul>
[% END %]
</li>
[% END # /FOREACH MARCURLS %]
</ul>
</div>
[% END # / IF MARCURLS %]
[% END # / IF OPACXSLTDetailsDisplay %]
[% IF ( !item_level_itypes || Koha.Preference('BiblioItemtypeInfo') ) %]
<span class="results_summary itemtype"><span class="label">Item type: </span>
[% IF ( imageurl && !Koha.Preference('OpacNoItemTypeImages') ) %]
<img src="[% imageurl | html %]" alt="" />
[% END %]
[% IF ( description ) %]
[% description | html %]
[% ELSE %]
[% itemtype | html %]
[% END %]
</span>
[% END %]
[% IF ( LibraryThingForLibrariesID ) %]
<!-- This puts the LTFL reviews in, and if TabbedView is not set, puts the remaining content above the Tabs instead of in them -->
[% UNLESS ( LibraryThingForLibrariesTabbedView ) %]
<div class="results_summary"><div id="ltfl_related" class="ltfl"></div></div>
<div class="results_summary"><div id="ltfl_similars" class="ltfl"></div></div>
<div class="results_summary"><div id="ltfl_tagbrowse" class="ltfl"></div></div>
[% END %]
<span class="results_summary">
<span class="label">Reviews from LibraryThing.com:</span>
<span style="display: block;" class="ltfl_reviews"></span>
</span>
[% END # / LibraryThingForLibrariesID %]
[% IF shelves.count %]
<!--This grabs all of the lists a bib record appears in -->
<span class="results_summary lists"><span class="label">List(s) this item appears in: </span>
[% FOREACH s IN shelves %]
<a href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% s.shelfnumber | uri %]">[% s.shelfname | html %]</a>
[% IF ( loop.last ) %][% ELSE %]|[% END %]
[% END %]
</span>
[% END %]
[% IF ( TagsShowEnabled ) %]
<div class="results_summary tags">
[% IF ( TagLoop ) %]
<span class="label">Tags from this library:</span>
<ul id="tagslist">
[% FOREACH TagLoo IN TagLoop %]
<li><a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term |url %]&amp;q=[% TagLoo.term |url %]">[% TagLoo.term | html %]</a> <span class="weight">([% TagLoo.weight_total | html %])</span>
[% IF ( loop.last ) %][% ELSE %], [% END %]
</li>
[% END %]
</ul>
[% ELSE %]
<span class="label">Tags from this library:</span>
<span class="notags">No tags from this library for this title.</span>
[% END # / IF ( TagLoop )%]
[% IF ( TagsInputEnabled ) %]
[% IF ( loggedinusername ) %]
<a class="tag_add btn btn-sm btn-link" id="tag_add[% biblio.biblionumber | html %]" href="#"><i class="fa fa-tag" aria-hidden="true"></i> Add tag(s)</a>
[% ELSE %]
<span class="login4tags">
[% IF Koha.Preference('casAuthentication') %]
[%# CAS authentication is too complicated for modal window %]
<a href="/cgi-bin/koha/opac-user.pl">Log in to add tags.</a>
[% ELSE %]
<a class="loginModal-trigger" data-toggle="modal" role="button" href="/cgi-bin/koha/opac-user.pl">Log in to add tags.</a>
[% END %]
</span>
[% END # / IF ( loggedinusername ) %]
[% END # / IF ( TagsInputEnabled ) %]
</div> <!-- /.results_summary.tags -->
[% END # /IF TagsShowEnabled %]
[% IF ( TagsInputEnabled ) %]
[% IF ( loggedinusername ) %]
<form id="tagform[% biblio.biblionumber | html %]" method="post" action="/cgi-bin/koha/opac-tags.pl" style="display:none;">
<div class="form-row">
<div class="col-3">
<label for="newtag[% biblio.biblionumber | html %]">New tag(s), separated by a comma:</label>
</div> <!-- /.col-3 -->
<div class="col-6">
<p class="emoji-picker-container">
<input
name="newtag[% biblio.biblionumber | html %]"
id="newtag[% biblio.biblionumber | html %]"
type="text"
maxlength="100"
data-emojiable="true"
data-emoji-input="unicode">
</p>
</div> <!-- /.col-6 -->
<div class="col-auto">
<input name="tagbutton" class="btn btn-sm btn-primary tagbutton" title="[% biblio.biblionumber | html %]" type="submit" value="Add" />
<a class="cancel_tag_add" id="cancel[% biblio.biblionumber | html %]" href="#">(done)</a>
<span id="newtag[% biblio.biblionumber | html %]_status" class="tagstatus" style="display:none;">
Tag status here.
</span>
</div> <!-- /.col-auto -->
</div> <!-- /.form-row -->
</form>
[% END # / IF ( loggedinusername ) %]
[% END # / IF TagsInputEnabled %]
[% IF ( SyndeticsEnabled ) %]
[% IF ( SyndeticsSeries && SyndeticsSERIES1Exists ) %]
<span class="results_summary">
<span class="label">Series information:</span>
<a target="_blank" rel="noreferrer" href="https://secure.syndetics.com/ffseries.aspx?isbn=[% normalized_isbn | html %]&amp;type=series&amp;num=1&amp;client=[% SyndeticsClientCode | html %][% IF ( normalized_upc ) %]&amp;upc=[% normalized_upc | html %][% END %][% IF ( normalized_oclc ) %]&amp;oclc=[% normalized_oclc | html %][% END %]">Click to open in new window</a>
</span>
[% END # / IF SyndeticsSeries && SyndeticsSERIES1Exists%]
[% IF ( SyndeticsAVPROFILEExists ) %]
<span class="results_summary">
<span class="label">Audiovisual profile:</span>
<a target="_blank" rel="noreferrer" href="https://secure.syndetics.com/index.aspx?isbn=[% normalized_isbn | html %]/avprofile.html&amp;client=[% SyndeticsClientCode | html %][% IF ( normalized_upc ) %]&amp;upc=[% normalized_upc | html %][% END %][% IF ( normalized_oclc ) %]&amp;oclc=[% normalized_oclc | html %][% END %]&amp;type=xw10">Click to open in new window</a>
</span>
[% END # / IF SyndeticsAVPROFILEExists %]
[% IF ( SyndeticsFICTIONExists ) %]
<span class="results_summary">
<span class="label">Fiction notes:</span>
<a target="_blank" rel="noreferrer" href="https://secure.syndetics.com/index.aspx?isbn=[% normalized_isbn | html %]/fiction.html&amp;client=[% SyndeticsClientCode | html %][% IF ( normalized_upc ) %]&amp;upc=[% normalized_upc | html %][% END %][% IF ( normalized_oclc ) %]&amp;oclc=[% normalized_oclc | html %][% END %]&amp;type=xw10">Click to open in new window</a>
</span>
[% END # / IF SyndeticsFICTIONExists %]
[% IF ( SyndeticsAwards && SyndeticsAWARDS1Exists ) %]
<span class="results_summary">
<span class="label">Awards:</span>
<a target="_blank" rel="noreferrer" href="https://secure.syndetics.com/ffawards.aspx?isbn=[% normalized_isbn | html %]&amp;type=awards&amp;client=[% SyndeticsClientCode | html %][% IF ( normalized_upc ) %]&amp;upc=[% normalized_upc | html %][% END %][% IF ( normalized_oclc ) %]&amp;oclc=[% normalized_oclc | html %][% END %]">Click to open in new window</a>
</span>
[% END # / IF SyndeticsAwards && SyndeticsAWARDS1Exists %]
[% END # / IF SyndeticsEnabled%]
[%# Following on one line due to translation issues %]
[% INCLUDE "openlibrary-readapi.inc" bib = { normalized_isbn => normalized_isbn,lccn => lccn, normalized_oclc => normalized_oclc } %]
[% IF ( OpacStarRatings != 'disable' ) %]
<form method="post" action="/cgi-bin/koha/opac-ratings.pl">
<div class="results_summary ratings">
[% SET rating_avg = ratings.get_avg_rating() %]
[% rating_avg_int = BLOCK %][% rating_avg | format("%.0f") %][% END %]
[% IF ( borrowernumber ) %]
<select id="star_rating" name="rating" data-rating-enabled="1" autocomplete="off">
[% ELSE %]
<select id="star_rating" name="rating" data-rating-enabled="0" disabled="disabled" autocomplete="off">
[% END %]
[% IF ( rating_avg_int == 0 ) %]
<option value="" selected="selected"></option>
[% END %]
[% FOREACH i IN [ 1 2 3 4 5 ] %]
[% IF rating_avg_int == i %]
<option value="[% i | html %]" selected="selected">[% i | html %]</option>
[% ELSE %]
<option value="[% i | html %]">[% i | html %]</option>
[% END %]
[% END %]
</select>
<img id="rating-loading" style="display:none" src="[% interface | html %]/[% theme | html %]/images/spinner-small.gif" alt="" />
<!-- define some hidden vars for ratings -->
<input type="hidden" name='biblionumber' value="[% biblio.biblionumber | html %]" />
<input type="hidden" name='rating_value' id='rating_value' value="[% my_rating.rating_value | html %]" />
[% UNLESS ( rating_readonly ) %]&nbsp; <input name="rate_button" type="submit" value="Rate me" />[% END %]&nbsp;
[% IF my_rating %]
<span id="rating_value_text">Your rating: [% my_rating.rating_value | html %].</span>
<span id="cancel_rating_text"><a href="#"><i class="fa fa-remove" aria-hidden="true"></i> Cancel rating</a>.</span>
[% ELSE %]
<span id="rating_value_text"></span>
<span id="cancel_rating_text" style="display:none;"><a href="#"><i class="fa fa-remove" aria-hidden="true"></i> Cancel rating</a>.</span>
[% END %]
<span id="rating_text">Average rating: [% rating_avg | html %] ([% ratings.count | html %] votes)</span>
</div>
</form>
[% END # / IF OpacStarRatings != 'disable' %]
[% IF ( BakerTaylorContentURL ) %]
<span class="results_summary">
<span class="label">Enhanced content: </span>
[% IF ( OPACURLOpenInNewWindow ) %]<a href="[% BakerTaylorContentURL | url %]" target="_blank" rel="noreferrer">Content Cafe</a>[% ELSE %]<a href="[% BakerTaylorContentURL | url %]">Content Cafe</a>[% END %]
</span>
[% END # / IF BakerTaylorContentURL %]
[% IF ( NovelistSelectProfile && (normalized_isbn || normalized_upc) ) %]
[% IF ( NovelistSelectView == 'above') %]
<span class="results_summary NovelistSelect" style="display:none;">
<span class="label">Novelist Select: </span>
<div data-novelist-novelistselect=[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]></div>
</span>
[% END %]
[% END # / IF NovelistSelectProfile %]
[% IF ( Babeltheque ) %]
<input type="hidden" name="BW_id_isbn" id="BW_id_isbn" value="[% normalized_isbn | html %]"/>
<div id="BW_notes"></div>
<div id="BW_critiques"></div>
<div id="BW_critiques_pro"></div>
<div id="BW_citations"></div>
[% END # / IF Babeltheque%]
</div> <!-- / #catalogue_detail_biblio -->
<div id="bibliodescriptions" class="toptabs">
<ul>
[% IF ( defaulttab == 'holdings' ) %]
<li id="tab_holdings" class="ui-tabs-active">
[% ELSE %]
<li id="tab_holdings">
[% END %]
[% BLOCK holding_tab_title %]
[% IF SeparateHoldings %]
<span>[% Branches.GetLoggedInBranchname | html %] holdings</span>
[% ELSE %]
[% IF specific_item %]
<span>Item details</span>
[% ELSE %]
<span>Holdings</span>
[% END %]
[% END %]
[% END %]
<a href="#holdings">[% PROCESS holding_tab_title %] [% UNLESS too_many_items OR specific_item %][% ' ( ' _ (itemloop.size || 0) _ ' )' | html %][% END %]</a>
</li>
[% IF (SeparateHoldings) %]
<li><a href="#otherholdings">Other holdings [% ' ( ' _ (otheritemloop.size || 0) _ ' )' | html %]</a></li>
[% END %]
[% IF ( MARCNOTES || notes || ( SyndeticsEnabled && SyndeticsSummary && SYNDETICS_SUMMARY )) %]
[% SET title_notes_count = 0 %]
[% IF MARCNOTES %]
[% SET title_notes_count = MARCNOTES.size %]
[% ELSIF notes %]
[% SET title_notes_count = 1 %]
[% END %]
[% IF SYNDETICS_SUMMARY %][% SET title_notes_count = title_notes_count + 1 %][% END %]
<li id="tab_descriptions"> <a href="#descriptions">Title notes ( [% title_notes_count | html %] )</a></li>
[% END %]
[% IF ( SYNDETICS_TOC ) %]
<li id="tab_toc"> <a href="#toc">TOC</a></li>
[% END %]
[% IF ( SyndeticsEnabled ) %]
[% IF ( SyndeticsExcerpt && SYNDETICS_EXCERPT ) %]
<li id="tab_excerpt"> <a href="#excerpt">Excerpt</a></li>
[% END %]
[% IF ( ( SyndeticsReviews && SYNDETICS_REVIEWS ) || ( LibraryThingForLibrariesTabbedView && LibraryThingForLibrariesID) ) %]
<li id="tab_reviews"> <a href="#reviews">Reviews</a></li>
[% IF ( LibraryThingForLibrariesID ) %]
<li id="tab_LTFLreviews">
<script src="https://www.librarything.com/forlibraries/widget.js?id=[% LibraryThingForLibrariesID | html %]"></script>
<noscript>This page contains enriched content visible when JavaScript is enabled or by clicking <a href="https://www.librarything.com/forlibraries/noscript.php?id=[% LibraryThingForLibrariesID | uri %]&amp;accessibility=1">here</a>.</noscript>
</li>
[% END %]
[% END %]
[% IF ( SyndeticsAuthorNotes && SYNDETICS_ANOTES ) %]
<li id="tab_anotes"> <a href="#anotes">About the author</a></li>
[% END %]
[% END # / IF SyndeticsEnabled %]
[% IF ( LibraryThingForLibrariesID && LibraryThingForLibrariesTabbedView ) %]
<li id="tab_LFTLSimilarItems"> <a href="#LFTLSimilarItems">Similar items</a></li>
<li id="tab_LTFLTagBrowse"> <a href="#LTFLTagBrowse">Tag browser</a></li>
[% END %]
[% IF ( subscriptionsnumber ) %]
[% IF ( defaulttab == 'subscriptions' ) %]<li id="tab_subscriptions" class="ui-tabs-active">[% ELSE %]<li id="tab_subscriptions">[% END %]
<a href="#subscriptions">Subscriptions ( [% subscriptionsnumber | html %] )</a>
</li>
[% END %]
[% IF Koha.Preference( 'OPACComments' ) == 1 %]
<li id="tab_comments"><a href="#comments">Comments[% ' ( ' _ (reviews.size || 0) _ ' )' | html %]</a></li>
[% END %]
[% IF ( NovelistSelectProfile && (normalized_isbn || normalized_upc) ) %]
[% IF ( NovelistSelectView == 'tab') %]
<li id="tab_NovelistSelect" class="NovelistSelect" style="display:none;"> <a href="#NovelistSelect">Novelist Select</a></li>
[% END %]
[% END %]
[% IF ( OPACFRBRizeEditions && XISBNS ) %]
<li id="tab_editions"><a href="#editions">Editions</a></li>
[% END %]
[% IF ( serialcollection ) %]
[% IF ( defaulttab == 'serialcollection' ) %]<li id="tab_serialcollection" class="ui-tabs-active">[% ELSE %]<li id="tab_serialcollection">[% END %]
<a href="#serialcollection">Serial collection</a>
</li>
[% END %]
[% IF ( OPACLocalCoverImages && localimages.count ) %]
<li id="tab_images"><a href="#images">Images</a></li>
[% END %]
[% IF HTML5MediaEnabled && HTML5MediaSets.size %]
[% IF ( defaulttab == 'media' ) %]<li id="tab_html5media" class="ui-tabs-active">[% ELSE %]<li id="tab_html5media">[% END %]<a href="#html5media">Play media</a></li>
[% END %]
</ul>
[% IF ( serialcollection ) %]
<div id="serialcollection">
<table id="serialcollectiont" class="table table-bordered table-striped">
<thead>
<tr>
<th id="serial_library">Library</th>
<th id="serial_collection">Serial collection</th>
<th id="serial_itemcallnumber">Item call number</th>
</tr>
</thead>
<tbody>
[% FOREACH serialcollection IN serialcollections %]
<tr>
<td>[% serialcollection.branch | html %]</td>
<td>[% serialcollection.text | html %]</td>
<td>[% serialcollection.itemcallnumber | html %]</td>
</tr>
[% END %]
</tbody>
</table>
</div> <!-- /#serialcollection -->
[% END # / IF serialcollection %]
<div id="holdings">
[% IF too_many_items %]
<p>This record has many physical items ([% items_count | html %]). <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblio.biblionumber | uri %]&amp;viewallitems=1">View all the physical items.</a></p>
[% ELSIF ( itemloop.size ) %]
[% INCLUDE items_table items=itemloop tab="holdings" table_id="holdingst" %]
[% IF specific_item %]
<p><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblio.biblionumber | uri %]">Show all items</a></p>
[% ELSE %]
[% IF Koha.Preference('OPACAcquisitionDetails') and acquisition_details.total_quantity > 0 %]
[% IF acquisition_details.total_quantity == 1 %]
<span>1 item is on order.</span>
[% ELSE %]
<span>[% acquisition_details.total_quantity | html %] items are on order.</span>
[% END %]
[% END %]
[% IF holds_count.defined || priority %]
<div id="bib_holds">
[% IF holds_count.defined %]
<span>Total holds: [% holds_count | html %]</span>
[% END %]
[% IF priority %]
[% IF holds_count.defined %]
<span>(priority [% priority | html %])</span>
[% ELSE %]
<span>Overall queue priority: [% priority | html %]</span>
[% END %]
[% END %]
</div>
[% END %]
[% END # /IF specific_item %]
[% ELSE %]
[% IF ( ALTERNATEHOLDINGS ) %]
[% FOREACH ALTERNATEHOLDING IN ALTERNATEHOLDINGS %]
<div id="alternateholdings"><span class="holdings_label">Holdings:</span> [% ALTERNATEHOLDING.holding | html %]</div>
[% END %]
[% ELSE %]
[% IF Koha.Preference('OPACAcquisitionDetails') and acquisition_details.total_quantity > 0 %]
[% IF acquisition_details.total_quantity == 1 %]
<span>1 item is on order.</span>
[% ELSE %]
<span>[% acquisition_details.total_quantity | html %] items are on order.</span>
[% END %]
[% ELSE %]
<div id="noitems">No physical items for this record</div>
[% END %]
[% END %]
[% END # IF itemloop.size %]
[% PROCESS 'shelfbrowser.inc' %]
[% INCLUDE shelfbrowser tab='holdings' %]
<br style="clear:both;" />
</div> <!-- / #holdings -->
[% IF (SeparateHoldings) %]
<div id="otherholdings">
[% IF (otheritemloop.size) %]
[% INCLUDE items_table items=otheritemloop tab="otherholdings" table_id="otherholdingst" %]
[% ELSE %]
<span>No other items.</span>
[% END %]
[% INCLUDE shelfbrowser tab='otherholdings' %]
</div>
[% END # / SeparateHoldings %]
[% IF ( MARCNOTES || notes || ( SyndeticsEnabled && SyndeticsSummary && SYNDETICS_SUMMARY )) %]
<div id="descriptions">
<div class="content_set">
[% IF ( SyndeticsEnabled && SyndeticsSummary && SYNDETICS_SUMMARY ) %]
<h4>Enhanced descriptions from Syndetics:</h4>
<p>[% SYNDETICS_SUMMARY | $raw %]</p>
[% END %]
[% IF ( MARCNOTES ) %]
<div id="marcnotes">
[% FOREACH MARCNOTE IN MARCNOTES %]
<p>
[% IF MARCNOTE.marcnote.match('^https?://\S+$') %]
<a href="[% MARCNOTE.marcnote | url %]">[% MARCNOTE.marcnote | html %]</a>
[% ELSE %]
[% MARCNOTE.marcnote | html | html_line_break %]
[% END %]
</p>
[% END %]
</div>
[% ELSE %]
[% IF ( notes ) %]
<p>[% notes | html %]</p>
[% END %]
[% END %]
</div> <!-- /.content_set -->
</div> <!-- / #descriptions -->
[% END # / IF MARCNOTES || notes %]
[% IF ( SyndeticsEnabled ) %]
[% IF ( SyndeticsTOC && SYNDETICS_TOC ) %]
<div id="toc">
<div class="content_set">
<h3>Table of contents provided by Syndetics</h3>
<ul>
[% FOREACH SYNDETICS_TO IN SYNDETICS_TOC %]
<li><strong>[% SYNDETICS_TO.l | html %] [% SYNDETICS_TO.t | html %]</strong>[% IF ( SYNDETICS_TO.p ) %] ([% SYNDETICS_TO.p | $raw %])[% END %]</li>
[% END %]
</ul>
</div>
</div>
[% END # / IF SyndeticsTOC && SYNDETICS_TOC %]
[% IF ( SyndeticsExcerpt && SYNDETICS_EXCERPT ) %]
<div id="excerpt">
<div class="content_set">
<h3>Excerpt provided by Syndetics</h3>
[% SYNDETICS_EXCERPT | $raw %]
</div>
</div>
[% END # / IF SyndeticsExcerpt && SYNDETICS_EXCERPT %]
[% IF ( SyndeticsReviews && SYNDETICS_REVIEWS ) %]
<div id="reviews">
<div class="content_set">
<h3>Reviews provided by Syndetics</h3>
[% FOREACH SYNDETICS_REVIEW IN SYNDETICS_REVIEWS %]
[% IF ( SYNDETICS_REVIEW.title ) %]
<h4>[% SYNDETICS_REVIEW.title | html %]</h4>
[% FOREACH review IN SYNDETICS_REVIEW.reviews %]
[% IF ( review.content ) %]
[% review.content | $raw %]
[% END %]
[% END %]
[% END %]
[% END %]
</div>
</div>
[% END # / IF SyndeticsReviews && SYNDETICS_REVIEWS %]
[% IF ( SyndeticsAuthorNotes && SYNDETICS_ANOTES ) %]
<div id="anotes">
<div class="content_set">
<h3>Author notes provided by Syndetics</h3>
[% FOREACH SYNDETICS_ANOTE IN SYNDETICS_ANOTES %]
[% IF ( SYNDETICS_ANOTE.content ) %]
[% SYNDETICS_ANOTE.content | $raw %]
[% END %]
[% END %]
</div>
</div>
[% END # / IF SyndeticsReviews && SYNDETICS_REVIEWS %]
[% END # / IF SyndeticsEnabled %]
[% IF ( NovelistSelectProfile && NovelistSelectView == 'tab' && (normalized_isbn || normalized_upc) ) %]
<div id="NovelistSelect" >
<div data-novelist-novelistselect=[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]></div>
</div>
[% END # / IF NovelistSelectProfile && NovelistSelectView == 'tab' %]
[% IF ( subscriptionsnumber ) %]
<div id="subscriptions">
<h2>This is a serial</h2>
<p class="subscription_count">There are [% subscriptionsnumber | html %] subscription(s) associated with this title.</p>
[% FOREACH subscription IN subscriptions %]
[% IF ( subscription.branchcode ) %]
<h3>At library: [% Branches.GetName( subscription.branchcode ) | html %]</h3>
[% ELSE %]
[% IF ( subscription.branchcode ) %]
<h3>At library: [% subscription.branchcode | html %]</h3>
[% END %]
[% END %]
[% IF ( subscription.closed ) %]
<p class="subscription_closed">This subscription is closed.</p>
[% END %]
[% IF ( subscription.location ) %]
<p class="subscription_location">Location: [% AuthorisedValues.GetByCode( 'LOC', subscription.location, 1 ) | html %]
[% END %]
[% IF ( subscription.callnumber ) %]
<p class="subscription_callnumber">Call number: [% subscription.callnumber | html %]</p>
[% END %]
[% IF ( subscription.subscriptionnotes ) %]
<p class="subscription_notes">[% subscription.subscriptionnotes | html | html_line_break %] </p>
[% END %]
<p class="subscription_dates">Subscription from: [% subscription.histstartdate | $KohaDates %] to:[% IF ( subscription.histenddate ) %] [% subscription.histenddate | $KohaDates %] [% ELSE %] now (current)[% END %]</p>
[% IF ( subscription.letter ) %]
<span class="email_notifications">
[% IF ( loggedinusername ) %]
[% IF ( subscription.hasalert ) %]
<span>You have subscribed to email notification on new issues. </span><a class="btn btn-secondary" title="Cancel email notification" href="/cgi-bin/koha/opac-alert-subscribe.pl?op=cancel&amp;subscriptionid=[% subscription.subscriptionid | html %]&amp;biblionumber=[% subscription.biblionumber | html %]">Cancel email notification</a>
[% ELSE %]
<a class="btn btn-secondary" title="Subscribe to email notification on new issues" href="/cgi-bin/koha/opac-alert-subscribe.pl?subscriptionid=[% subscription.subscriptionid | html %]&amp;biblionumber=[% subscription.biblionumber | html %]">Subscribe to email notification on new issues</a>
[% END %]
[% ELSE %]
<span>You must log in if you want to subscribe to email notification on new issues</span>
[% END %]
</span>
[% END %]
[% IF ( subscription.missinglist ) %]
<p class="subscription_missing">Missing issues: [% subscription.missinglist | html | html_line_break %] </p>
[% END %]
[% IF ( subscription.opacnote ) %]
<p class="subscription_opacnote">[% subscription.opacnote | html | html_line_break %]</p>
[% END %]
[% IF ( subscription.latestserials ) %]
<p class="subscription_latestissues"> The [% subscription.opacdisplaycount | html %] latest issues for this subscription:</p>
<table class="table table-bordered table-striped" id="subscriptionst">
<thead>
<tr>
<th id="serial_serialseq" data-colname="serial_serialseq">Issue #</th>
<th id="serial_publisheddate" data-colname="serial_publisheddate" class="title-string">Publication date</th>
<th id="serial_planneddate" data-colname="serial_planneddate" class="title-string">Received date</th>
<th id="serial_status" data-colname="serial_status">Status</th>
<th id="serial_notes" data-colname="serial_notes">Note</th>
</tr>
</thead>
<tbody>
[% FOREACH latestserial IN subscription.latestserials %]
<tr>
<td class="serialseq">[% latestserial.serialseq | html %]</td>
<td class="publisheddate"><span title="[% latestserial.publisheddate | html %]">[% latestserial.publisheddate | $KohaDates %]</span></td>
<td class="planneddate"><span title="[% latestserial.planneddate | html %]">[% latestserial.planneddate | $KohaDates %]</span></td>
<td class="serial_status">
[% IF (latestserial.status1 ) %]<span>Expected</span>[% END %]
[% IF (latestserial.status2 ) %]<span>Arrived</span>[% END %]
[% IF (latestserial.status3 ) %]<span>Late</span>[% END %]
[% IF (latestserial.status4 ) %]<span>Missing</span>[% END %]
[% IF (latestserial.status41 ) %]<span>Missing (never received)</span>[% END %]
[% IF (latestserial.status42 ) %]<span>Missing (sold out)</span>[% END %]
[% IF (latestserial.status43 ) %]<span>Missing (damaged)</span>[% END %]
[% IF (latestserial.status44 ) %]<span>Missing (lost)</span>[% END %]
[% IF (latestserial.status5 ) %]<span>Not issued</span>[% END %]
[% IF (latestserial.status6 ) %]<span>Delete</span>[% END %]
[% IF (latestserial.status7 ) %]<span>Claimed</span>[% END %]
[% IF (latestserial.status8 ) %]<span>Stopped</span>[% END %]
</td>
<td class="serial_notes">[% latestserial.notes | html %]</td>
</tr>
[% END # / FOREACH latestserials %]
</tbody>
</table>
[% END # / IF subscription.latestserials %]
[% END # / FOREACH subscriptions %]
<p class="subscription_moredetails"><a href="opac-serial-issues.pl?biblionumber=[% biblio.biblionumber | uri %]">More details</a></p>
</div> <!-- / #subscriptions -->
[% END # IF subscriptionsnumber %]
[% IF ( LibraryThingForLibrariesID && LibraryThingForLibrariesTabbedView ) %]
<!-- Library Thing for Libraries Content -->
<div id="LFTLSimilarItems">
<div class="content_set">
<!-- Uncommenting this span makes the font smaller in the tab for LTFL -->
<!-- but breaks Xhtml validation -->
<!-- <span class="results_summary">-->
<div id="ltfl_related"></div>
<div id="ltfl_similars"></div>
<!-- </span>-->
</div>
</div>
<div id="LTFLTagBrowse">
<div class="content_set">
<!-- <span class="results_summary"> -->
<div id="ltfl_tagbrowse" class="ltfl"></div>
<!-- </span> -->
</div>
</div>
[% END # / IF LibraryThingForLibrariesID && LibraryThingForLibrariesTabbedView %]
[% IF Koha.Preference( 'OPACComments' ) == 1 %]
<div id="comments">
<div id="newcomment"></div>
[% IF ( reviews ) %]
[% FOREACH review IN reviews %]
[% IF borrowernumber && review.borrowernumber == borrowernumber %]
<div class="commentline yours" id="c[% review.reviewid | html %]">
[% IF ( review.avatarurl ) %]
<img class="avatar" src="[% review.avatarurl | html %]" height="80" width="80" alt="" />
[% END %]
[% IF review.approved %]
<h5>Your comment</h5>
[% ELSE %]
<h5>Your comment (preview, pending approval)</h5>
[% END %]
<small>[% review.datereviewed | $KohaDates %]</small>
<p>
[% FILTER html_break %]
[% review.review | html %]
[% END %]
<a href="#" onclick="Dopop('/cgi-bin/koha/opac-review.pl?biblionumber=[% review.biblionumber | uri %]&amp;reviewid=[% review.reviewid | uri %]');">Edit</a>
</p>
</div>
[% ELSE %]
<div class="commentline">
[% IF ( ShowReviewer != "none" && review.patron) %]
[% IF ( review.avatarurl ) %]
<img class="avatar" src="[% review.avatarurl | html %]" height="80" width="80" alt="" />
[% END %]
[% SWITCH ShowReviewer %]
[% CASE 'full' %]
<h5>Comment by [% review.patron.title | html %] [% review.patron.firstname | html %] [% review.patron.surname | html %]</h5>
[% CASE 'first' %]
<h5>Comment by [% review.patron.firstname | html %]</h5>
[% CASE 'surname' %]
<h5>Comment by [% review.patron.surname | html %]</h5>
[% CASE 'firstandinitial' %]
<h5>Comment by [% review.patron.firstname | html %] [% review.patron.surname|truncate(2,'.') | html %]</h5>
[% CASE 'username' %]
<h5>Comment by [% review.patron.userid | html %]</h5>
[% END %]
<small>[% review.datereviewed | $KohaDates %]</small>
[% ELSE %]
<h5>Patron comment on [% review.datereviewed | $KohaDates %]</h5>
[% END # / IF ShowReviewer != "none" && review.patron %]
<p>
[% FILTER html_break %]
[% review.review | html %]
[% END %]
</p>
</div> <!-- / .commentline -->
[% END %]
[% END # / FOREACH reviews %]
[% ELSE %]
<p>There are no comments on this title.</p>
[% END # / IF reviews %]
[% IF ( loggedinusername ) %]
[% UNLESS ( loggedincommenter ) %]
<div id="addcomment">
<a href="#" onclick="Dopop('/cgi-bin/koha/opac-review.pl?biblionumber=[% biblio.biblionumber | uri %]'); return false;">
Post your comments on this title.
</a>
</div>
[% END %]
[% ELSE %]
<div id="addcomment">
<a class="login-link loginModal-trigger" role="button" data-toggle="modal" href="/cgi-bin/koha/opac-user.pl">Log in to your account</a> to post a comment.
</div>
[% END # / IF loggedinusername %]
</div> <!-- / #comments -->
[% END # / IF OPACComments %]
[% IF ( OPACFRBRizeEditions && XISBNS ) %]
<div id="editions">
<h4>Other editions of this work</h4>
<table class="table table-bordered table-striped">
[% FOREACH XISBN IN XISBNS %]
<tr>
<td>
[% IF ( OPACAmazonCoverImages ) %]
<img src="https://images-na.ssl-images-amazon.com/images/P/[% XISBN.normalized_isbn | html %].01._AA75_PU_PU-5_.jpg" alt="" />
[% END %]
[% IF ( SyndeticsEnabled && SyndeticsCoverImages ) %]
[% IF ( XISBN.content_identifier_exists ) %]
<img src="https://secure.syndetics.com/index.aspx?isbn=[% XISBN.browser_normalized_isbn | html %]/SC.GIF&amp;client=[% SyndeticsClientCode | html %][% IF ( XISBN.browser_normalized_upc ) %]&amp;upc=[% XISBN.browser_normalized_upc | html %][% END %][% IF ( XISBN.browser_normalized_oclc ) %]&amp;oclc=[% XISBN.browser_normalized_oclc | html %][% END %]&amp;type=xw10" alt="" />
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END # / IF XISBN.content_identifier_exists %]
[% END # / IF SyndeticsEnabled && SyndeticsCoverImages %]
</td>
[% UNLESS ( item_level_itypes ) %]
<td>[% XISBN.description | html %]</td>
[% END %]
<td>
<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% XISBN.biblionumber | uri %]">[% XISBN.title | html %]</a>
[% IF ( XISBN.author ) %]<span> by </span>[% XISBN.author | html %][% END %]
[% IF ( XISBN.copyrightdate ) %]<span> &copy;</span>[% XISBN.copyrightdate | html %][% END %]
[% IF ( XISBN.publishercode ) %]
<p>[% XISBN.publishercode | html %]
[% IF ( XISBN.place ) %]([% XISBN.place | html %])[% END %]
[% IF ( XISBN.publicationyear ) %][% ', ' _ XISBN.publicationyear | html %][% END %]
[% IF ( XISBN.pages ) %][% XISBN.pages | html %] [% XISBN.illus | html %] [% XISBN.size | html %][% END %]
</p>
[% END %]
</td>
</tr>
[% END # / FOREACH XISBNS %]
</table>
</div> <!-- / #editions -->
[% END # / IF OPACFRBRizeEditions && XISBNS %]
[% IF ( HTML5MediaEnabled ) %]
<div id="html5media">
[% FOREACH HTML5MediaSet IN HTML5MediaSets %]
<p>
[% IF HTML5MediaSet.is_youtube %]
<iframe id="player" type="text/html" width="640" height="360"
src="[% HTML5MediaSet.srcblock | url %]" frameborder="0"></iframe>
[% ELSE %]
[% SET ctrl_preload = ' controls preload=none' #translatability %]
<[% HTML5MediaParent _ ctrl_preload | html %] >
<[% HTML5MediaSet.child | html %] src="[% HTML5MediaSet.srcblock | url %]" [% HTML5MediaSet.typeblock | html %] />
<span>[[% HTML5MediaParent | html %] tag not supported by your browser.]</span>
</[% HTML5MediaParent | html %]>
[% END %]
</p>
[% END %]
</div>
[% END # / IF HTML5MediaEnabled %]
[% IF ( OPACLocalCoverImages && localimages.count ) %]
<div id="images">
<p>Click on an image to view it in the image viewer</p>
[% FOREACH image IN localimages %]
<a class="localimage" href="/cgi-bin/koha/opac-imageviewer.pl?biblionumber=[% biblio.biblionumber | html %]&amp;imagenumber=[% image.imagenumber | html %]"><img alt="" src="/cgi-bin/koha/opac-image.pl?thumbnail=1&amp;imagenumber=[% image.imagenumber | html %]" /></a>
[% END %]
</div><!-- / #images -->
[% END # / IF OPACLocalCoverImages && localimages.size %]
</div> <!-- / #bibliodescriptions -->
[% IF ( NovelistSelectProfile && NovelistSelectView == 'below' && ( normalized_isbn || normalized_upc ) ) %]
<div id="NovelistSelect">
<h3>Novelist Select</h3>
<div data-novelist-novelistselect="[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]"></div>
</div>
[% END %]
[% IF ( Babeltheque ) %]
<div>
<div id="BW_etiquettes"></div>
<div id="BW_suggestions"></div>
</div>
<div class="clearfix"></div>
<div>
<div id="BW_podcasts"></div>
</div>
<div class="clearfix"></div>
<div>
<div id="BW_videos"></div>
</div>
[% END # / IF Babeltheque %]
</div> <!-- /.col-lg-10 -->
<div class="col-lg-3">
<div id="ulactioncontainer">
[% IF ( Koha.Preference('OpacBrowseResults') && busc ) %]
<div class="nav_results">
<div class="l_Results" style="display:none;">
[% IF ( listResults ) %]
<a href="#" id="a_listResults"><i class="fa fa-bars" aria-hidden="true"></i> Browse results</a>
[% ELSE %]
<span><i class="fa fa-bars" aria-hidden="true"></i> Browse results</span>
[% END %]
<a href="#" class="close_pagination"><i class="fa fa-remove" aria-hidden="true"></i> Close</a>
</div>
<div class="pg_menu">
<div class="pg_link left_results">
[% IF ( previousBiblionumber ) %]
<a href="opac-detail.pl?biblionumber=[% previousBiblionumber | uri %][% IF ( query_desc && OpacHighlightedWords ) %]&query_desc=[% query_desc |uri %][% END %]" title="See: [% IF ( previousTitle ) %][% previousTitle | html %][% ELSE %]previous biblio[% END %]"><i class="fa fa-angle-double-left" aria-hidden="true"></i> Previous</a>
[% ELSE %]
<span>Previous</span>
[% END %]
</div>
[%# busc is already URI encoded %]
<div class="pg_link back_results">
<a href="opac-search.pl?[% busc | $raw %]" title="Back to the results search list">Back to results</a>
</div>
<div class="pg_link right_results">
[% IF ( nextBiblionumber ) %]
<a href="opac-detail.pl?biblionumber=[% nextBiblionumber | uri %][% IF ( query_desc && OpacHighlightedWords ) %]&query_desc=[% query_desc |uri %][% END %]" title="See: [% IF ( nextTitle ) %][% nextTitle | html %][% ELSE %]next biblio[% END %]">Next <i class="fa fa-angle-double-right" aria-hidden="true"></i></a>
[% ELSE %]
<span>Next</span>
[% END %]
</div>
</div> <!-- /.pg_menu -->
[% IF ( listResults ) %]
<div class="results-pagination">
<div class="nav_pages">
<ul id="listResults">
[% FOREACH listitem IN listResults %]
[% IF ( listitem.biblionumber == biblionumber ) %]
<li class="li_pag_[% loop.count | html %] highlight">
[% ELSE %]
<li class="li_pag_[% loop.count | html %]">
[% END %]
<a href="opac-detail.pl?biblionumber=[% listitem.biblionumber | uri %]&amp;query_desc=[% query_desc |uri %]" title="View record &quot;[% listitem.title | html %]&quot;" class="a_pag" id="a_pag_[% loop.count | html %]">[% loop.count + offset | html %]</a>
</li>
[% END # /FOREACH listitem %]
</ul> <!-- /#listResults -->
</div> <!-- /.nav_pages -->
<div class="pagination_list">
<ul id="ul_pagination_lists">
[% FOREACH listitem IN listResults %]
[% IF ( listitem.biblionumber == biblionumber ) %]
<li id="li_pag_[% loop.count | html %]" class="highlight" title="Go to detail">
<span class="li_pag_index"><i class="fa fa-arrow-left" aria-hidden="true"></i> [% loop.count + offset | html %]</span>
<a href="opac-detail.pl?biblionumber=[% biblionumber | uri %]&amp;query_desc=[% query_desc |uri %]">[% title | html %]</a><br> [% IF ( author ) %]by [% author | html %][% END %]
</li>
[% ELSE %]
<li id="li_pag_[% loop.count | html %]" title="Go to detail">
<span class="li_pag_index">[% loop.count + offset | html %]</span>
<a href="opac-detail.pl?biblionumber=[% listitem.biblionumber | uri %]&amp;query_desc=[% query_desc |uri %]">[% listitem.title | html %]</a><br> [% IF ( listitem.author ) %]by [% listitem.author | html %][% END %]
</li>
[% END # /IF listitem.biblionumber %]
[% END # /FOREACH listitem %]
</ul> <!-- /#ul_pagination_list -->s
</div> <!-- /.pagination_list -->
</div> <!-- /.results-pagination -->
[% END # /IF ( listResults ) %]
<div class="pagination_footer">
<a href="#" class="close_pagination"><i class="fa fa-remove" aria-hidden="true"></i> Close</a>
</div>
</div> <!-- /.nav_results -->
[% END # / IF OpacBrowseResults && busc %]
[% INCLUDE 'opac-detail-sidebar.inc' %]
[% IF ( NovelistSelectProfile && NovelistSelectView == 'right' && ( normalized_isbn || normalized_upc ) ) %]
<div id="NovelistSelect">
<h4>Novelist Select</h4>
<div data-novelist-novelistselect="[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]"></div>
</div>
[% END %]
[% IF ( Babeltheque ) %]
<div class="babeltheque_adds">
<div id="BW_critiques_aj"></div>
<div id="BW_citations_aj"></div>
</div>
[% END %]
[% IF ( Koha.Preference('SocialNetworks') ) %]
<div id="social_networks" class="clearfix">
<span>Share</span>
[% SET SocialNetworks = Koha.Preference('SocialNetworks') %]
[% FOREACH network IN SocialNetworks.split(",") %]
[% SWITCH network -%]
[% CASE "facebook" -%]
<div><a id="facebook" href="https://www.facebook.com/sharer.php?u=[% current_url |url %]&amp;t=[% title |url %]" title="Share on Facebook"><i class="fa fa-facebook" aria-hidden="true"></i></a></div>
[% CASE "linkedin" -%]
<div><a id="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&amp;url=[% current_url |url %]&amp;title=[% title |url %]" title="Share on LinkedIn"><i class="fa fa-linkedin" aria-hidden="true"></i></a></div>
[% CASE "email" -%]
<div><a id="email" href="mailto:?subject=[% title |url %]&amp;body=[% title |url %]%20([% current_url |url %])" title="Share by email"><i class="fa fa-envelope-o" aria-hidden="true"></i></a></div>
[% CASE "twitter" -%]
<div><a id="twitter" href="https://twitter.com/share?url=[% current_url|url %]&text=[% title | uri %]" class="twitter-share-button" data-count="none" data-lang="[% lang | html %]" title="Share on Twitter"><i class="fa fa-twitter" aria-hidden="true"></i></a></div>
[% END # /SWITCH network -%]
[% END # /FOREACH network %]
</div> <!-- /#social_networks -->
[% END # /IF SocialNetworks %]
</div> <!-- / .ulactioncontainer -->
</div> <!-- / .col-lg-3 -->
</div> <!-- / .row -->
<div class="row">
[% IF ( LibraryThingForLibrariesID ) %]
<script src="https://ltfl.librarything.com/forlibraries/widget.js?systype=koha&amp;id=[% LibraryThingForLibrariesID | html %]"></script>
<noscript>This page contains enriched content visible when JavaScript is enabled or by clicking
<a href="https://www.librarything.com/forlibraries/noscript.php?id=[% LibraryThingForLibrariesID | uri %]&amp;accessibility=1">here</a>.</noscript>
[% END %]
[% IF ( NovelistSelectProfile && ( normalized_isbn || normalized_upc ) ) %]
<script src="https://imageserver.ebscohost.com/novelistselect/ns2init.js"></script>
[% END %]
[% IF ( Babeltheque ) %]
<script src="[% Babeltheque_url_js | html %]"></script>
[% END %]
</div> <!-- / .row -->
</div> <!-- / .container-fluid -->
</div> <!-- / .main -->
[% IF ( OPACPopupAuthorsSearch ) %]
<!-- Modal -->
<div class="modal" id="multiSearch" tabindex="-1" role="dialog" aria-labelledby="multiSearchLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 id="multiSearchLabel">Select the item(s) to search</h3>
<button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
</div>
<div class="modal-body">
<a href="#" class="check_all btn btn-link btn-sm"><i class="fa fa-check" aria-hidden="true"></i> Select all</a> <span class="sep">|</span>
<a href="#" class="check_none btn btn-link btn-sm"><i class="fa fa-remove" aria-hidden="true"></i> Select none</a>
<ul id="termsList">
</ul>
</div>
<div class="modal-footer">
<button id="validMultiSearch" class="btn btn-primary">Search</button>
<a href="#" class="cancel" data-dismiss="modal" aria-hidden="true">Cancel</a>
</div>
</div> <!-- /.modal-content -->
</div> <!-- /.modal-dialog -->
</div> <!-- /#myModal -->
[% END %]
[% INCLUDE 'opac-bottom.inc' %]
[%# End of template %]
[% BLOCK items_table %]
<table class="table table-bordered table-striped" id="[% table_id | html %]">
<thead>
<tr>
[% IF Koha.Preference('OPACLocalCoverImages') && ( tab == 'holdings' && itemloop_has_images || tab == 'otherholdings' && otheritemloop_has_images ) %]
<th id="item_cover" data-colname="item_cover">Cover image</th>
[% END %]
[% IF ( item_level_itypes ) %]
<th id="item_itemtype" data-colname="item_itemtype" class="itype">Item type</th>
[% END %]
[% IF ( OpacLocationBranchToDisplay == 'holding' || OpacLocationBranchToDisplay == 'both' ) %]
<th id="item_current_location" data-colname="item_current_location" class="item_location">Current library</th>
[% END %]
[% IF ( OpacLocationBranchToDisplay == 'home' || OpacLocationBranchToDisplay == 'both' ) %]
<th id="item_home_location" data-colname="item_home_location" class="item_location">Home library</th>
[% END %]
[% IF ( itemdata_ccode ) %]
<th id="item_ccode" data-colname="item_ccode" class="collection">Collection</th>
[% END %]
[% IF ( Koha.Preference('OpacLocationOnDetail') == 'column' && itemdata_location ) %]
<th id="item_shelving_location" data-colname="item_shelving_location" class="shelving_location">Shelving location</th>
[% END %]
<th id="item_callnumber" data-colname="item_callnumber" class="call_no">Call number</th>
[% UNLESS TablesSettings.is_hidden( 'opac', 'biblio-detail', 'holdingst', 'item_materials') %]
<th id="item_materials" data-colname="item_materials" class="materials">Materials specified</th>
[% END %]
[% IF ( itemdata_enumchron ) %]
<th id="item_enumchron" data-colname="item_enumchron" class="vol_info">Vol info</th>
[% END %]
[% IF ( itemdata_uri ) %]
<th id="item_url" data-colname="item_url" class="url">URL</th>
[% END %]
[% IF ( itemdata_copynumber ) %]
<th id="item_copy" data-colname="item_copy" class="copynumber">Copy number</th>
[% END %]
<th id="item_status" data-colname="item_status" class="status">Status</th>
[% IF ( itemdata_itemnotes ) %]
<th id="item_notes" data-colname="item_notes" class="notes">Notes</th>
[% END %]
<th id="item_datedue" data-colname="item_datedue" class="date_due">Date due</th>
<th id="item_barcode" data-colname="item_barcode" class="barcode">Barcode</th>
[% IF holds_count.defined %]
<th id="item_holds" data-colname="item_holds">Item holds</th>
[% ELSIF show_priority %]
<th id="item_priority" data-colname="item_priority">Item hold queue priority</th>
[% END %]
[% IF ( ShowCourseReservesHeader ) %]
<th id="item_coursereserves" data-colname="item_coursereserves">Course reserves</th>
[% END %]
</tr>
</thead>
<tbody>
[% FOREACH ITEM_RESULT IN items %]
[% IF ITEM_RESULT.this_branch %]
<tr class="highlight-row-detail" vocab="http://schema.org/" typeof="Offer">
[% ELSE %]
<tr vocab="http://schema.org/" typeof="Offer">
[% END %]
[% IF Koha.Preference('OPACLocalCoverImages') && ( tab == 'holdings' && itemloop_has_images || tab == 'otherholdings' && otheritemloop_has_images ) %]
<td class="cover">
[% FOR image IN ITEM_RESULT.cover_images %]
<div title="[% ITEM_RESULT.itemnumber | html %]" data-imagenumber="[% image.imagenumber | html %]" data-biblionumber="[% ITEM_RESULT.biblionumber | html %]" class="local-thumbnail-preview"></div>
[% END %]
</td>
[% END %]
[% IF ( item_level_itypes ) %]
<td class="itype">
[% UNLESS ( Koha.Preference('OpacNoItemTypeImages') ) %]
[% IF ( ITEM_RESULT.imageurl ) %]
<img src="[% ITEM_RESULT.imageurl | html %]" title="[% ITEM_RESULT.description | html %]" alt="[% ITEM_RESULT.description | html %]" />
[% END %]
[% END %]
[% ITEM_RESULT.description | html %]
</td>
[% END %]
[% IF ( OpacLocationBranchToDisplay == 'holding' || OpacLocationBranchToDisplay == 'both' ) %]
<td class="location" property="seller">
<link property="itemOffered" href="#record" />
<link property="businessFunction" href="http://purl.org/goodrelations/v1#LeaseOut">
<span class="[% ITEM_RESULT.holding_branch_opac_info ? 'branch-info-tooltip-trigger' : '' %]" title="">
[% IF ( ITEM_RESULT.branchurl ) %]
<a href="[% ITEM_RESULT.branchurl | url %]">[% ITEM_RESULT.branchname | html %]</a>
[% ELSE %]
<span>[% ITEM_RESULT.branchname | html %]</span>
[% END %]
</span>
<div class="branch-info-tooltip">[% ITEM_RESULT.holding_branch_opac_info | $raw %]</div>
[% IF ( Koha.Preference('OpacLocationOnDetail') == 'holding' || Koha.Preference('OpacLocationOnDetail') == 'both' ) %]
<span class="shelvingloc">[% ITEM_RESULT.location_description | html %]</span>
[% END %]
</td>
[% END %]
[% IF ( OpacLocationBranchToDisplay == 'home' || OpacLocationBranchToDisplay == 'both' ) %]
<td class="location" property="seller">
<link property="itemOffered" href="#record" />
<link property="businessFunction" href="http://purl.org/goodrelations/v1#LeaseOut">
<span class="[% ITEM_RESULT.home_branch_opac_info ? 'branch-info-tooltip-trigger' : '' %]" title="">
[% IF Branches.GetURL( ITEM_RESULT.homebranch ) %]
[% home_branch_url = Branches.GetURL( ITEM_RESULT.homebranch ) %]
[% IF ( home_branch_url ) %]
<a href="[% home_branch_url | url %]">[% Branches.GetName( ITEM_RESULT.homebranch ) | html %]</a>
[% ELSE %]
<span>[% Branches.GetName( ITEM_RESULT.homebranch ) | html %]</span>
[% END %]
[% ELSE %]
<span>[% Branches.GetName( ITEM_RESULT.homebranch ) | html %]</span>
[% END %]
</span>
<div class="branch-info-tooltip">[% ITEM_RESULT.home_branch_opac_info | $raw %]</div>
[% IF ( Koha.Preference('OpacLocationOnDetail') == 'home' || Koha.Preference('OpacLocationOnDetail') == 'both' ) %]
<span class="shelvingloc">[% ITEM_RESULT.location_description | html %]</span>
[% END %]
</td>
[% END %]
[% IF ( itemdata_ccode ) %]
<td class="collection">[% ITEM_RESULT.ccode | html %]</td>
[% END %]
[% IF ( Koha.Preference('OpacLocationOnDetail') == 'column' && itemdata_location ) %]
<td class="shelving_location"><span class="shelvingloc">[% ITEM_RESULT.location_description | html %]</span></td>
[% END %]
<td class="call_no" property="sku">
[% IF ( ITEM_RESULT.itemcallnumber ) %]
[% ITEM_RESULT.itemcallnumber | html %]
[% IF ( OPACShelfBrowser ) %]
[% IF ( ITEM_RESULT.itemnumber == starting_itemnumber ) %]
(<a class="close_shelf" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% ITEM_RESULT.biblionumber | html %]&amp;shelfbrowse_itemnumber=[% ITEM_RESULT.itemnumber | html %]#[% tab | html %]">Browse shelf <span class="sr-only">(Opens below)</span></a>)
[% ELSE %]
(<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% ITEM_RESULT.biblionumber | uri %]&amp;shelfbrowse_itemnumber=[% ITEM_RESULT.itemnumber | uri %]#[% tab | uri %]">Browse shelf <span class="sr-only">(Opens below)</span></a>)
[% END %]
[% END %]
[% END %]
</td>
[% UNLESS TablesSettings.is_hidden( 'opac', 'biblio-detail', 'holdingst', 'item_materials') %]
<td class="materials">[% ITEM_RESULT.materials | html %]</td>
[% END %]
[% IF ( itemdata_enumchron ) %]
<td class="vol_info">
[% IF ITEM_RESULT.enumchron && ITEM_RESULT.serialseq %]
<span class="enum">[% ITEM_RESULT.enumchron | html %]</span>
[% IF ( ITEM_RESULT.serialseq && ITEM_RESULT.enumchron!=ITEM_RESULT.serialseq ) %]
<span class="sep"> -- </span>
<span class="serialseq">[% ITEM_RESULT.serialseq | html %]</span>
[% END %]
[% ELSIF ITEM_RESULT.enumchron %]
<span class="enum">[% ITEM_RESULT.enumchron | html %]</span>
[% ELSIF ITEM_RESULT.serialseq %]
<span class="serialseq">[% ITEM_RESULT.serialseq | html %]</span>
[% END %]
[% IF ( ITEM_RESULT.publisheddate ) %]
<span class="pubdate">([% ITEM_RESULT.publisheddate | $KohaDates %])</span>
[% END %]
</td>
[% END %]
[% IF ( itemdata_uri ) %]
<td class="url">
[% IF ITEM_RESULT.uri %]
[%# Initialize three helper vars %]
[% SET target_attr = ''; SET rel_attr = ''; SET href_attr = '' %]
[% IF Koha.Preference('OPACURLOpenInNewWindow') %][% SET target_attr = '_blank'; SET rel_attr = 'noreferrer' %][% END %]
[%# Check if there are multiple URIs; in the single case we only use pref URLLinkText or Link to resource %]
[% IF ITEM_RESULT.uri.split(' \| ').size > 1 %]
[% FOREACH uri IN ITEM_RESULT.uri.split(' \| ') %]
[% IF trackclicks == 'track' || trackclicks == 'anonymous' %][% SET href_attr = "/cgi-bin/koha/tracklinks.pl?uri=" _ uri _ "&amp;biblionumber=" _ biblio.biblionumber _ "&amp;itemnumber=" _ ITEM_RESULT.itemnumber %] [% ELSE %][% SET href_attr = uri %][% END %]
<a target="[% target_attr | html %]" rel="[% rel_attr | html %]" href="[% href_attr | url %]" property="url">[% uri | html %]</a><br>
[% END %]
[% ELSE %]
[% IF trackclicks == 'track' || trackclicks == 'anonymous' %][% SET href_attr = "/cgi-bin/koha/tracklinks.pl?uri=" _ ITEM_RESULT.uri _ "&amp;biblionumber=" _ biblio.biblionumber _ "&amp;itemnumber=" _ ITEM_RESULT.itemnumber %] [% ELSE %][% SET href_attr = ITEM_RESULT.uri %][% END %]
<a target="[% target_attr | html %]" rel="[% rel_attr | html %]" href="[% href_attr | url %]" property="url">[% IF Koha.Preference('URLLinkText') %][% Koha.Preference('URLLinkText') | html %][% ELSE %]Link to resource[% END %]</a>
[% END %]
[% END %]
</td>
[% END # /IF itemdata_uri %]
[% IF ( itemdata_copynumber ) %]<td class="copynumber">[% ITEM_RESULT.copynumber | html %]</td>[% END %]
<td class="status">[% INCLUDE 'item-status-schema-org.inc' item = ITEM_RESULT %][% INCLUDE 'item-status.inc' item = ITEM_RESULT %]</td>
[% IF ( itemdata_itemnotes ) %]<td class="notes" property="description">[% ITEM_RESULT.itemnotes | $raw %]</td>[% END %]
<td class="date_due"><span title="[% ITEM_RESULT.datedue | html %]">[% ITEM_RESULT.datedue | $KohaDates as_due_date => 1 %]</span></td>
<td class="barcode" property="serialNumber">[% ITEM_RESULT.barcode | html %]</td>
[% IF holds_count.defined || show_priority %]
<td class="holds_count">
[% IF holds_count.defined %] [% ITEM_RESULT.holds_count | html %] [% END %]
[% IF ITEM_RESULT.priority %]
[% IF holds_count.defined %]
<span>(priority [% ITEM_RESULT.priority | html %])</span>
[% ELSE %]
<span>[% ITEM_RESULT.priority | html %]</span>
[% END %]
[% END %]
</td>
[% END %]
[% IF ShowCourseReservesHeader %]
<td>
[% IF ITEM_RESULT.course_reserves %]
[% FOREACH r IN ITEM_RESULT.course_reserves %]
[% IF r.course.enabled == 'yes' %]
<p>
<a href="opac-course-details.pl?course_id=[% r.course.course_id | uri %]">
[% r.course.course_name | html %]
<!--[% IF r.course.course_number %] [% r.course.course_number | html %] [% END %]-->
[% IF r.course.section %] [% r.course.section | html %] [% END %]
[% IF r.course.term %] [% AuthorisedValues.GetByCode( 'TERM', r.course.term, 1 ) | html %] [% END %]
</a>
</p>
[% END %]
[% END %]
[% END %]
</td>
[% END # /IF ShowCourseReservesHeader %]
</tr>
[% END %]
</tbody>
</table>
[% END %][%# end of items_table block %]
[% BLOCK jsinclude %]
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'columns_settings.inc' %]
[% INCLUDE greybox.inc %]
[% IF ( OpacStarRatings != 'disable' ) %][% Asset.js("lib/jquery/plugins/jquery.barrating.min.js") | $raw %][% END %]
[% IF ( OpacHighlightedWords ) %][% Asset.js("lib/jquery/plugins/jquery.highlight-3.js") | $raw %][% END %]
[% IF ( Koha.Preference('OPACDetailQRCode') ) %]
[% Asset.js("lib/kjua/kjua.min.js") | $raw %]
[% END %]
[% IF ( Koha.Preference('OPACShowMusicalInscripts') ) %]
<script>
var interface = "[% interface | html %]";
var PREF_OPACPlayMusicalInscripts = "[% Koha.Preference('OPACPlayMusicalInscripts') | html %]";
</script>
[% Asset.js("js/verovio.js") | $raw %]
[% END %]
[% Asset.js("lib/emoji-picker/js/emoji-picker-all.min.js") | $raw %]
[% IF OpenLibraryCovers || OpenLibrarySearch %]
[% Asset.js("js/openlibrary.js") | $raw %]
[% END %]
<script>
window.emojiPicker = new EmojiPicker({
emojiable_selector: '[data-emojiable=true]',
assetsPath: '[% interface | html %]/lib/emoji-picker/img/',
popupButtonClasses: 'fa fa-smile-o'
});
window.emojiPicker.discover();
var OPACPopupAuthorsSearch = "[% Koha.Preference('OPACPopupAuthorsSearch') | html %]";
[% IF ( OpacHighlightedWords ) %]
var q_array = new Array(); // holds search terms if available
function highlightOff() {
$("#catalogue_detail_biblio").removeHighlight();
$(".highlight_toggle").toggle();
}
function highlightOn() {
var x;
for (x in q_array) {
if ( q_array[x].length > 0 ) {
q_array[x] = q_array[x].replace(/\w*:([\w])/, "$1");
q_array[x] = q_array[x].toLowerCase();
var myStopwords = "[% Koha.Preference('NotHighlightedWords') | html %]".toLowerCase().split('|');
if( $.inArray(q_array[x], myStopwords) == -1 ) {
$(".title").highlight(q_array[x]);
$(".author").highlight(q_array[x]);
$(".results_summary").highlight(q_array[x]);
}
}
$(".highlight_toggle").toggle();
}
}
[% END # /IF OpacHighlightedWords %]
$(document).ready(function() {
[% IF ( Koha.Preference('OPACDetailQRCode') ) %]
var qrcode = kjua({
ecLevel: "H",
render: "canvas",
rounded: 100,
size: 150,
text: location.href,
});
if (qrcode) {
document.getElementById("qrcode").appendChild( qrcode );
}
$(".show_qrcode").on("click", function(){
var qrcodeImg = $("#qrcode");
if( qrcodeImg.hasClass("d-none") ){
qrcodeImg.removeClass("d-none");
} else {
qrcodeImg.addClass("d-none");
}
});
[% END # /IF OPACDetailQRCode %]
$('#bibliodescriptions').tabs();
$(".branch-info-tooltip-trigger").uitooltip({
position: { my: "left+15 center", at: "right center" },
show: 50,
hide: 50,
content: function(){
var element = $(this).next("div");
return element.html();
}
});
[% IF ( Koha.Preference('OpacBrowseResults') && busc ) %]
$(".l_Results").show();
$("#a_listResults").on("click", function(e){
e.preventDefault();
$(".results-pagination, .close_pagination, .pg_menu").toggle();
});
$(".close_pagination").on("click", function(e){
e.preventDefault();
$(".results-pagination, .close_pagination, .pg_menu").toggle();
});
[% END # /IF OpacBrowseResults %]
var columns_settings = [% TablesSettings.GetColumns( 'opac', 'biblio-detail', 'holdingst', 'json' ) | $raw %];
KohaTable("#holdingst", {
dom: '<"clearfix">t',
"columnDefs": [
{ "targets": [ -1 ], "sortable": false, "searchable": false },
],
"bKohaColumnsUseNames": true,
"autoWidth": false
}, columns_settings);
KohaTable("#otherholdingst", {
dom: '<"clearfix">t',
"columnDefs": [
{ "targets": [ -1 ], "sortable": false, "searchable": false },
],
"bKohaColumnsUseNames": true,
"autoWidth": false
}, columns_settings);
var serial_column_settings = [% TablesSettings.GetColumns( 'opac', 'biblio-detail', 'subscriptionst', 'json' ) | $raw %];
KohaTable("#subscriptionst", {
dom: '<"clearfix">t',
"sorting": [[ 1, "desc" ]],
"autoWidth": false,
"bKohaColumnsUseNames": true
}, serial_column_settings);
[% IF ( TagsInputEnabled && loggedinusername ) %]
$(".tag_add").click(function(){
var thisid = $(this).attr("id");
thisid = thisid.replace("tag_add","");
$(this).hide();
$("#tagform"+thisid).show();
$("#newtag"+thisid).focus();
$("#newtag"+thisid+"_status").empty().hide();
return false;
});
$(".cancel_tag_add").click(function(){
var thisid = $(this).attr("id");
thisid = thisid.replace("cancel","");
$("#tagform"+thisid).hide();
$("#tag_add"+thisid).show();
$("#newtag"+thisid).val("");
$("#newtag"+thisid+"_status").empty().hide();
return false;
});
$(".tagbutton").click(function(){
var thisid = $(this).attr("title");
var tag = $("#newtag"+thisid).val();
if (!tag || (tag == "")) {
alert(MSG_NO_TAG_SPECIFIED);
return false;
}
KOHA.Tags.add_tag_button(thisid, tag);
return false;
});
[% END %]
[%# Note that there is no way atm to target a column with its class name to set it as the default sort order %]
[% IF Koha.Preference('OpacLocationBranchToDisplay') == 'home' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'homebranch' AND item_level_itypes OR Koha.Preference('OpacLocationBranchToDisplay') == 'holding' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'holdingbranch' AND item_level_itypes OR Koha.Preference('OpacLocationBranchToDisplay') == 'both' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'homebranch' AND NOT item_level_itypes OR Koha.Preference('OpacLocationBranchToDisplay') == 'both' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'holdingbranch' AND item_level_itypes %]
var default_order_index = 1;
[% ELSIF Koha.Preference('OpacLocationBranchToDisplay') == 'both' AND Koha.Preference('OPACHoldingsDefaultSortField') == 'homebranch' AND item_level_itypes %]
var default_order_index = 2;
[% ELSE %]
var default_order_index = 0;
[% END %]
[% IF ( query_desc ) %]
[% IF ( OpacHighlightedWords ) %]
var query_desc = "[% query_desc |replace("'", "\'") |replace('\n', '\\n') |replace('\r', '\\r') | html %]";
q_array = query_desc.split(" ");
q_array = q_array.filter(function(n){ return n }); // Remove empty strings
highlightOn();
$("#highlight_toggle_on" ).hide().click(function() {highlightOn() ; return false;});
$("#highlight_toggle_off").show().click(function() {highlightOff(); return false;});
[% END %]
[% END %]
[% IF ( GoogleJackets ) %]
KOHA.Google.GetCoverFromIsbn([% covernewwindow | html %]);
[% END %]
[% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]',[% covernewwindow | html %]);
[% END %]
[% IF OpenLibraryCovers %]
KOHA.OpenLibrary.GetCoverFromIsbn();
[% END %]
[% IF OPACLocalCoverImages %]
KOHA.LocalCover.GetCoverFromBibnumber(true);
[% IF itemloop_has_images OR oheritemloop_has_images %]
KOHA.LocalCover.GetCoverFromItemnumber(true);
[% END %]
[% END %]
[% IF ( NovelistSelectProfile && ( normalized_isbn || normalized_upc ) ) %]
novSelect.loadContentForQuery(
{
ClientIdentifier : '[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]',
ISBN : '[% IF normalized_isbn %][% normalized_isbn | html %][% ELSE %][% normalized_upc | html %][% END %]',
version : '2.1'
},
'[% NovelistSelectProfile | html %]',
'[% NovelistSelectPassword | html %]',
function(d){
if ( d.length > 0 ){ //If no content
$(".NovelistSelect").show();
}
});
[% END %]
[% IF ( OPACShelfBrowser ) %]
// Focus on shelf browser if present
var shelfbrowser = $("#shelfbrowser");
if (shelfbrowser.length > 0) {
$('html,body').animate({
scrollTop: shelfbrowser.first().offset().top
},
'slow');
shelfbrowser.first().find(':focusable').eq(0).focus();
}
(function prepareShelfBrowser(){
$(".main").on("click",".close_shelf",function(e){
e.preventDefault();
$("#shelfbrowser").toggle();
});
$(".main").on("click", "#browser_previous a", function(e){
e.preventDefault();
$.ajax({
url: "/cgi-bin/koha/svc/shelfbrowser.pl",
type: "POST",
data: {
"shelfbrowse_itemnumber": $("#browser_previous a").data( "prev-itemnumber" )
},
success: function(data){
$("#shelfbrowser").replaceWith(data);
[% IF ( GoogleJackets ) %]
KOHA.Google.GetCoverFromIsbn([% covernewwindow | html %]);
[% END %]
[% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]',[% covernewwindow | html %]);
[% END %]
[% IF OpenLibraryCovers %]
KOHA.OpenLibrary.GetCoverFromIsbn();
[% END %]
[% IF OPACLocalCoverImages %]
KOHA.LocalCover.GetCoverFromBibnumber(true);
[% END %]
}
});
});
$(".main").on("click", "#browser_next a", function(e){
e.preventDefault();
$.ajax({
url: "/cgi-bin/koha/svc/shelfbrowser.pl",
type: "POST",
data: {
"shelfbrowse_itemnumber": $("#browser_next a").data( "next-itemnumber" )
},
success: function(data){
$("#shelfbrowser").replaceWith(data);
[% IF ( GoogleJackets ) %]
KOHA.Google.GetCoverFromIsbn([% covernewwindow | html %]);
[% END %]
[% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]',[% covernewwindow | html %]);
[% END %]
[% IF OpenLibraryCovers %]
KOHA.OpenLibrary.GetCoverFromIsbn();
[% END %]
[% IF OPACLocalCoverImages %]
KOHA.LocalCover.GetCoverFromBibnumber(true);
[% END %]
}
});
});
}());
[% END # /IF ( OPACShelfBrowser ) %]
[% IF ( OpacStarRatings != 'disable' ) %]
// -----------------------------------------------------
// star-ratings code
// -----------------------------------------------------
// hide 'rate' button if javascript enabled
$('input[name="rate_button"]').remove();
var rating_enabled = ( $("#star_rating").data("rating-enabled") == "1" ) ? false : true;
$('#star_rating').barrating({
theme: 'fontawesome-stars',
showSelectedRating: false,
allowEmpty: true,
deselectable: false,
readonly: rating_enabled,
onSelect: function(value, text) {
$("#rating-loading").show();
$.post("/cgi-bin/koha/opac-ratings-ajax.pl", {
rating_old_value: $("#rating_value").attr("value"),
borrowernumber: "[% borrowernumber | html %]",
biblionumber: "[% biblio.biblionumber | html %]",
rating_value: value,
auth_error: value
}, function (data) {
$("#rating_value").val(data.rating_value);
if (data.rating_value) {
$("#rating_value_text").text(_("Your rating: %s, ").format(data.rating_value));
$("#cancel_rating_text").show();
} else {
$("#rating_value_text").text('');
$("#cancel_rating_text").hide();
}
$("#rating_text").text(_("Average rating: %s (%s votes)").format(data.rating_avg, data.rating_total));
$("#rating-loading").hide();
}, "json");
}
});
$("#cancel_rating_text a").on("click", function(e){
e.preventDefault();
$("#star_rating").barrating("set", "");
});
[% END # / IF ( OpacStarRatings != 'disable' )%]
});
$(document).ready(function() {
if( OPACPopupAuthorsSearch == "1" ){
var terms = {
contributors : {
"label" : "author",
"keyword_search" : "au:",
},
subject : {
"label" : "subject",
"keyword_search" : "su:",
}
}
$(".contributors,.subject").on("click", function(e){
e.preventDefault();
var term = $(this).attr("class");
var selected_term = $(this).text();
var term_links = $("." + term );
if( term_links.length > 1 ){
term_links.each(function( index ){
var authid = "";
var preselected = false;
var search_label = $(this).text().trim();
if( $(this).text() == selected_term ){ preselected = true }
if( $(this).hasClass("authority_link") ){
authid = $(this).data("authid");
search_string = "an:" + authid;
} else {
search_string = terms[term]["keyword_search"] + encodeURIComponent( search_label );
}
var termLink = $("<li>")
.append( $("<input>", { type: "checkbox", class: "select_term", value: search_string, id: terms[term]["label"] + index } ).prop("checked", preselected ) )
.append("&nbsp;")
.append( $("<label>", { for: terms[term]["label"] + index, text: search_label } ) )
$("#termsList").append( termLink );
$("#multiSearch").modal("show");
});
} else {
location.href = $(this).attr("href");
}
});
$("#multiSearch").on("hide.bs.modal", function(){
$("#termsList").html("");
});
$(".check_all").on("click", function(e){
e.preventDefault();
$(".select_term").each(function(){
$(this).prop("checked", true );
});
});
$(".check_none").on("click", function(e){
e.preventDefault();
$(".select_term").each(function(){
$(this).prop("checked", false );
});
});
$("#validMultiSearch").on("click", function(e){
e.preventDefault();
multiSearchRequest();
});
} /* if( OPACPopupAuthorsSearch == "1" ) */
});
function multiSearchRequest(){
var values = [];
$(".select_term").each(function(){
if( $(this).prop("checked") ){
values.push( $(this).val() );
}
});
if (values.length > 0) {
var request = "/cgi-bin/koha/opac-search.pl?q=" + values.join(' and ');
location.href = request;
}
}
</script>
[% END %]