Jonathan Druart
1ea55acd0c
In case a custom cover image url is used to generate the cover image of bibliographic records, we should not build one if the record does not have the necessary data. For instance if you have CustomCoverImagesURL set to https://covers.openlibrary.org/b/isbn/{isbn}-M.jpb and a biblio does not have the isbn defined, we should not generate and empty image (empty or invalid src) Test plan: 0. Set CustomCoverImagesURL to https://covers.openlibrary.org/b/isbn/{isbn}-M.jpb Enable CustomCoverImages and OPACCustomCoverImages To highlight the issue you should disable LocalCoverImages and OPACLocalCoverImages. 1. Make sure you have some of your bibliographic records with a valid isbn 2. Make sure you have at least 1 bibliographic record without an isbn set 3. Visit the search result and detail views (OPAC and staff interfaces) => Without this patch you should see a "Cover image" link, and an empty block/div on the detail page => With this patch applied you should only see images when the url can be generated Note that the problem will persist if the isbn is not valid (ie. no image is generated) Sponsored-by: Orex Digital Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
108 lines
7.8 KiB
HTML
108 lines
7.8 KiB
HTML
[% BLOCK shelfbrowser %]
|
|
[% IF OpenOPACShelfBrowser %]
|
|
<div id="shelfbrowser">
|
|
<h5 style="text-align: center;" tabindex="-1">
|
|
[%- IF ( starting_homebranch ) %]Browsing [% starting_homebranch | html %] shelves[% END -%]
|
|
[%- IF ( starting_homebranch && starting_location ) %], [% END %]
|
|
[%- IF ( starting_location ) %]Shelving location: [%- starting_location | html -%][% END -%]
|
|
[%- IF ( starting_homebranch && starting_ccode ) %], [% END %]
|
|
[%- IF ( starting_ccode ) %]Collection: [%- starting_ccode | html -%][% END -%]
|
|
<a style="font-size: 75%;" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblionumber | html %]" class="close_shelf" >Close shelf browser <span class="sr-only">(Hides shelf browser)</span></a>
|
|
</h5>
|
|
|
|
<table class="table">
|
|
<tr>
|
|
<td class="nav-cell" rowspan="2">
|
|
[% IF shelfbrowser_prev_item %]
|
|
<div id="browser_previous">
|
|
<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% shelfbrowser_prev_item.biblionumber | uri %]&shelfbrowse_itemnumber=[% shelfbrowser_prev_item.itemnumber | uri %]#shelfbrowser" data-prev-itemnumber="[% shelfbrowser_prev_item.itemnumber | html %]"><i class="fa fa-caret-up" aria-hidden="true"></i> Previous</a>
|
|
</div>
|
|
[% END %]
|
|
</td>
|
|
|
|
[% FOREACH item IN shelfbrowser_items %]
|
|
<td>
|
|
[% IF ( item.title ) %]
|
|
[% img_title = item.title %]
|
|
[% ELSE %]
|
|
[% img_title = item.biblionumber %]
|
|
[% END %]
|
|
|
|
[% IF ( OPACLocalCoverImages || OPACAmazonCoverImages || ( SyndeticsEnabled && SyndeticsCoverImages ) || GoogleJackets || BakerTaylorEnabled || ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) || ( Koha.Preference('OPACCustomCoverImages') AND Koha.Preference('CustomCoverImagesURL') ) ) %]
|
|
<a class="shelfbrowser_cover" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% item.biblionumber | uri %]&shelfbrowse_itemnumber=[% item.itemnumber | uri %]#shelfbrowser">
|
|
[% IF ( OPACLocalCoverImages ) %]
|
|
<div title="[% img_title | html %]" class="[% item.biblionumber | html %] thumbnail-shelfbrowser" id="local-thumbnail-shelf-[% item.biblionumber | html %]"></div>
|
|
[% END %]
|
|
[% IF ( OPACAmazonCoverImages ) %]
|
|
[% IF ( item.browser_normalized_isbn ) %]
|
|
<img src="https://images-na.ssl-images-amazon.com/images/P/[% item.browser_normalized_isbn | html %].01._AA75_PU_PU-5_.jpg" alt="" />
|
|
[% ELSE %]
|
|
<span class="no-image">No cover image available</span>
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF ( SyndeticsEnabled ) %]
|
|
[% IF ( SyndeticsCoverImages ) %]
|
|
[% IF ( content_identifier_exists ) %]
|
|
<img src="https://secure.syndetics.com/index.aspx?isbn=[% item.browser_normalized_isbn | html %]/SC.GIF&client=[% SyndeticsClientCode | html %][% IF ( item.browser_normalized_upc ) %]&upc=[% item.browser_normalized_upc | html %][% END %][% IF ( item.browser_normalized_oclc ) %]&oclc=[% item.browser_normalized_oclc | html %][% END %]&type=xw10" alt="" />
|
|
[% ELSE %]
|
|
<span class="no-image">No cover image available</span>
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF ( GoogleJackets ) %]
|
|
[% IF ( item.browser_normalized_isbn ) %]
|
|
<div title="[% img_title | html %]" class="[% item.browser_normalized_isbn | html %]" id="gbs-thumbnail-preview[% loop.count | html %]"></div>
|
|
[% ELSE %]
|
|
<span class="no-image">No cover image available</span>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
|
|
[% coce_id = item.browser_normalized_ean || item.browser_normalized_isbn | html %]
|
|
<div title="[% img_title | html %]" class="[% coce_id | html %]" id="coce-thumbnail-preview-[% coce_id | html %]"></div>
|
|
[% END %]
|
|
[% IF ( BakerTaylorEnabled ) %]
|
|
[% bt_id = ( item.browser_normalized_upc || item.browser_normalized_isbn ) | html %]
|
|
[% IF ( bt_id ) %]
|
|
<img alt="See Baker & Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" />
|
|
[% ELSE %]
|
|
<span class="no-image">No cover image available</span>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF Koha.Preference('OPACCustomCoverImages') AND Koha.Preference('CustomCoverImagesURL') %]
|
|
[% SET custom_cover_image_url = item.biblio_object.custom_cover_image_url %]
|
|
[% IF custom_cover_image_url %]
|
|
<span class="custom_cover_image">
|
|
<img alt="Cover image" src="[% custom_cover_image_url | url %]" />
|
|
</span>
|
|
[% END %]
|
|
[% END %]
|
|
|
|
</a>
|
|
[% END %]
|
|
</td>
|
|
[% END %]
|
|
<td class="nav-cell" rowspan="2">
|
|
[% IF shelfbrowser_next_item %]
|
|
<div id="browser_next">
|
|
<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% shelfbrowser_next_item.biblionumber | uri %]&shelfbrowse_itemnumber=[% shelfbrowser_next_item.itemnumber | uri %]#shelfbrowser" data-next-itemnumber="[% shelfbrowser_next_item.itemnumber | html %]">Next <i class="fa fa-caret-up" aria-hidden="true"></i></a>
|
|
</div>
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
[% FOREACH item IN shelfbrowser_items %]
|
|
<td class="top">
|
|
[% item.itemcallnumber | html %]
|
|
<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% item.biblionumber | uri %]&shelfbrowse_itemnumber=[% item.itemnumber | uri %]#shelfbrowser">
|
|
[% INCLUDE 'biblio-title.inc' biblio=item %]
|
|
</a>
|
|
</td>
|
|
[% END %]
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
[% END # /IF OpenOPACShelfBrowser %]
|
|
[% END # end of shelfbrowser block %]
|