From ce963ff82e9a4e462c9ea4efcc6b8d6576e23747 Mon Sep 17 00:00:00 2001 From: Martin Persson Date: Fri, 18 Dec 2015 11:14:18 +0100 Subject: [PATCH] Bug 14272: Show single news item (OPAC) This change makes the news shown on opac-main-pl have clickable headings which shows just that news item in isolation. This is to allow further patches that adds commentary functions. Sponsored-By: Halland County Library Test plan: * Apply this patch. * Go to OPAC main, you should see multiple news items by default. * If you do not see any, go to Staff interface and add a few. * Each nees item heading should be clickable. * When clicked only that item should be shown. * When 'news_id' is present, only a single news item should show. * The breadcrumb should say 'News item' after 'Home'. Updates: * Renamed URL parameter and local variables with 'news_' prefix. * Fixed Search-And-Replace error; 'news_news_id' => 'news_id' * Added breadcrumb for viewing single news item. --- koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt | 13 +++++++++++-- opac/opac-main.pl | 14 ++++++++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt index 7e51a94..da9f781 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt @@ -10,7 +10,16 @@
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %] @@ -43,7 +52,7 @@ [% SET newsdisp = ( Koha.Preference('NewsAuthorDisplay') ) %] [% FOREACH koha_new IN koha_news %]
-

[% koha_new.title %]

+

[% koha_new.title %]

[% koha_new.new %]
(published on [% koha_new.newdate %][% IF ( (newsdisp == 'opac' || newsdisp == 'both') && koha_new.borrowernumber ) %] by [% koha_new.author_title %] [% koha_new.author_firstname %] [% koha_new.author_surname %][% END %])
diff --git a/opac/opac-main.pl b/opac/opac-main.pl index b0904c5..99f5156 100755 --- a/opac/opac-main.pl +++ b/opac/opac-main.pl @@ -51,14 +51,24 @@ my $homebranch; if (C4::Context->userenv) { $homebranch = C4::Context->userenv->{'branch'}; } -my $all_koha_news = &GetNewsToDisplay($news_lang,$homebranch); -my $koha_news_count = scalar @$all_koha_news; + +my $news_id = $input->param('news_id'); +my ($all_koha_news, $koha_news_count, $news_type); +if (defined $news_id && length $news_id) { + $all_koha_news = [ get_opac_new($news_id) ]; + $koha_news_count = 1; + $news_type = 'news_item'; +} else { + $all_koha_news = GetNewsToDisplay($news_lang, $homebranch); + $koha_news_count = scalar @$all_koha_news; +} my $quote = GetDailyQuote(); # other options are to pass in an exact quote id or select a random quote each pass... see perldoc C4::Koha $template->param( koha_news => $all_koha_news, koha_news_count => $koha_news_count, + news_type => $news_type, display_daily_quote => C4::Context->preference('QuoteOfTheDay'), daily_quote => $quote, ); -- 2.1.4