@@ -, +, @@ --- .../opac-tmpl/bootstrap/en/modules/opac-main.tt | 30 +++++++++++++++++++--- opac/opac-main.pl | 21 ++++++++++++--- 2 files changed, 43 insertions(+), 8 deletions(-) --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt +++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt @@ -1,5 +1,6 @@ [% USE raw %] [% USE Koha %] +[% USE KohaDates %] [% USE Branches %] [% USE Price %] [% INCLUDE 'doc-head-open.inc' %] @@ -12,7 +13,12 @@
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %] @@ -57,18 +63,32 @@ [% END %] - [% IF ( koha_news_count ) %] + [% IF ( koha_news ) %] + + + [% IF single_news_error %] + +
+ This news item does not exist. +
+ + [% ELSE %]
[% SET newsdisp = ( Koha.Preference('NewsAuthorDisplay') ) %] [% FOREACH koha_new IN koha_news %]
-

[% koha_new.title | html %]

+

[% koha_new.title | html %]

[% koha_new.content | $raw %]
-
(published on [% koha_new.newdate | html %][% IF ( (newsdisp == 'opac' || newsdisp == 'both') && koha_new.borrowernumber ) %] by [% koha_new.author_title | html %] [% koha_new.author_firstname | html %] [% koha_new.author_surname | html %][% END %])
+
(published on [% koha_new.timestamp | $KohaDates with_hours = 1 | html %][% IF ( (newsdisp == 'opac' || newsdisp == 'both') && koha_new.borrowernumber ) %] by [% koha_new.author_title | html %] [% koha_new.author_firstname | html %] [% koha_new.author_surname | html %][% END %])
[% END %]
+ + [% END %] + + [% UNLESS news_item %] +
@@ -109,6 +129,8 @@ [% IF ( OpacMainUserBlock ) %]
[% OpacMainUserBlock | $raw %]
[% END %]
+ [% END %] + [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) || OpacNavRight ) %]
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %] --- a/opac/opac-main.pl +++ a/opac/opac-main.pl @@ -29,6 +29,7 @@ use C4::Members; use C4::Overdues; use Koha::Checkouts; use Koha::Holds; +use Koha::News; my $input = new CGI; my $dbh = C4::Context->dbh; @@ -61,8 +62,21 @@ if (defined $input->param('branch') and length $input->param('branch')) { elsif (C4::Context->userenv and defined $input->param('branch') and length $input->param('branch') == 0 ){ $homebranch = ""; } -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); + +if (defined $news_id){ + @all_koha_news = Koha::News->search({ idnew => $news_id }); + $koha_news_count = 1; + if (scalar @all_koha_news > 0){ + $template->param( news_item => @all_koha_news ); + } else { + $template->param( single_news_error => 1 ); + } +} else { + @all_koha_news = &GetNewsToDisplay($news_lang,$homebranch); +} my $quote = GetDailyQuote(); # other options are to pass in an exact quote id or select a random quote each pass... see perldoc C4::Koha @@ -90,8 +104,7 @@ if ( $patron ) { } $template->param( - koha_news => $all_koha_news, - koha_news_count => $koha_news_count, + koha_news => @all_koha_news, branchcode => $homebranch, display_daily_quote => C4::Context->preference('QuoteOfTheDay'), daily_quote => $quote, --