Bug 24699: Split items.uri in OPAC detail view
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Thu, 20 Feb 2020 14:43:43 +0000 (14:43 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Mon, 6 Apr 2020 09:42:47 +0000 (10:42 +0100)
Same change as in bug 24697 for staff. If there are more URIs in 952u,
we split them and show the real URL instead of Link to resource or the
value of pref URLLinkText.

I introduced a few template variables here to make the code a bit more
compact and readable.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt

index 197672c..b34c369 100644 (file)
                     [% END %]
                     [% IF ( itemdata_uri ) %]
                         <td class="url">
-                            [% IF ITEM_RESULT.uri %]
-                                [% IF Koha.Preference('URLLinkText') %]
-                                    [% IF trackclicks == 'track' || trackclicks == 'anonymous' %]
-                                        [% IF Koha.Preference("OPACURLOpenInNewWindow") %]
-                                        <a target="_blank" rel="noreferrer" href="/cgi-bin/koha/tracklinks.pl?uri=[% ITEM_RESULT.uri | uri %]&amp;biblionumber=[% biblio.biblionumber | html %]&amp;itemnumber=[% ITEM_RESULT.itemnumber | url %]" property="url">[% Koha.Preference('URLLinkText') | html %]</a>
-                                        [% ELSIF ITEM_RESULT.uri %]
-                                        <a href="/cgi-bin/koha/tracklinks.pl?uri=[% ITEM_RESULT.uri | uri %]&amp;biblionumber=[% biblio.biblionumber | uri %]&amp;itemnumber=[% ITEM_RESULT.itemnumber | url %]" property="url">[% Koha.Preference('URLLinkText') | html %]</a>
-                                        [% END %]
-                                    [% ELSE %]
-                                        [% IF Koha.Preference("OPACURLOpenInNewWindow") %]
-                                        <a target="_blank" rel="noreferrer" href="[% ITEM_RESULT.uri | url %]" property="url">[% Koha.Preference('URLLinkText') | html %]</a>
-                                        [% ELSIF ITEM_RESULT.uri %]
-                                        <a href="[% ITEM_RESULT.uri | url %]" property="url">[% Koha.Preference('URLLinkText') | html %]</a>
-                                        [% END %]
-                                    [% END %]
-                                [% ELSE %]
-                                    [% IF trackclicks == 'track' || trackclicks == 'anonymous' %]
-                                        [% IF Koha.Preference("OPACURLOpenInNewWindow") %]
-                                        <a target="_blank" rel="noreferrer" href="/cgi-bin/koha/tracklinks.pl?uri=[% ITEM_RESULT.uri | uri %]&amp;biblionumber=[% biblio.biblionumber | html %]&amp;itemnumber=[% ITEM_RESULT.itemnumber | url %]" property="url">Link to resource</a>
-                                        [% ELSIF ITEM_RESULT.uri %]
-                                        <a href="/cgi-bin/koha/tracklinks.pl?uri=[% ITEM_RESULT.uri | uri %]&amp;biblionumber=[% biblio.biblionumber | uri %]&amp;itemnumber=[% ITEM_RESULT.itemnumber | url %]" property="url">Link to resource</a>
-                                        [% END %]
-                                    [% ELSE %]
-                                        [% IF Koha.Preference("OPACURLOpenInNewWindow") %]
-                                        <a target="_blank" rel="noreferrer" href="[% ITEM_RESULT.uri | url %]" property="url">Link to resource</a>
-                                        [% ELSIF ITEM_RESULT.uri %]
-                                        <a href="[% ITEM_RESULT.uri | url %]" property="url">Link to resource</a>
-                                        [% END %]
-                                    [% END %]
+                        [% 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_copynumber ) %]<td class="copynumber">[% ITEM_RESULT.copynumber | html %]</td>[% END %]