From dca008f294b76fa9dcd9b18497db628400085d3d Mon Sep 17 00:00:00 2001 From: Indranil Das Gupta Date: Fri, 22 Aug 2014 02:15:05 +0000 Subject: [PATCH] Bug 12806: Adding 'Koha as a CMS' to the OPAC for bootstrap OPAC themes in line with http://wiki.koha-community.org/wiki/Koha_as_a_CMS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test plan : 1) Apply this patch; 2) In the browser go to Home › Administration › System Preferences > Local Use and add a New Preference called "page_test" and fill it out as follows: (a) Explanation: test page for pages tiny cms (b) Variable: page_test (c) Value:

Lorem ipsum


Lorem ipsum dolor sit amet

(d) Variable type: Textarea (e) Variable options: 80|50 3) Browse to http:///cgi-bin/koha/pages.pl?p=test 4) The page should come up with the words "Lorem ipsum" in the main content area of the page, with a horizontal rule followed by the paragraph text "Lorem ipsum dolor sit amet". --- koha-tmpl/opac-tmpl/bootstrap/en/modules/pages.tt | 90 +++++++++++++++++++++++ opac/pages.pl | 76 +++++++++++++++++++ 2 files changed, 166 insertions(+) create mode 100644 koha-tmpl/opac-tmpl/bootstrap/en/modules/pages.tt create mode 100755 opac/pages.pl diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/pages.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/pages.tt new file mode 100644 index 0000000..7010356 --- /dev/null +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/pages.tt @@ -0,0 +1,90 @@ +[% USE Koha %] +[% INCLUDE 'doc-head-open.inc' %] +[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog +[% INCLUDE 'doc-head-close.inc' %] +[% BLOCK cssinclude %][% END %] + + +[% INCLUDE 'masthead.inc' %] + +
+ + + [% IF Koha.Preference( 'opacuserlogin' ) == 1 %] + [% IF ( loggedinusername ) %] +
+ [% ELSE %] +
+ [% END %] + [% ELSE %] +
+ [% END %] + +
+ [% IF ( OpacNav || OpacNavBottom ) %] +
+ +
+ [% END %] + + [% IF ( OpacNav || OpacNavBottom ) %] +
+ [% ELSE %] +
+ [% END %] + + [% IF ( display_daily_quote && daily_quote ) %] +
+

Quote of the Day

+
+ [% daily_quote.text %] ~ [% daily_quote.source %] +
+
+ [% END %] + + [% IF ( page_test ) %]
[% page_test %]
[% END %] +
+ + [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) || OpacNavRight ) %] +
+ [% IF Koha.Preference( 'opacuserlogin' ) == 1 %] + [% UNLESS ( loggedinusername ) %] + [% UNLESS ( casAuthentication ) %] +
+
+ +
+ Log in to your account: + + +
+ +
+ [% IF PatronSelfRegistration && PatronSelfRegistrationDefaultCategory %]

Don't have an account? Register here.

[% END %] +
+
+
+ [% END # /casAuthentication %] + [% IF persona %] + Sign in with your email + [% END # /persona %] + [% END # / loggedinusername %] + [% END # /opacuserlogin %] + [% IF ( OpacNavRight ) %] +
+ [% OpacNavRight %] +
+ [% END # /OpacNavRight %] +
+ [% END # /opacuserlogin || OpacNavRight %] + +
+
+
+ +[% INCLUDE 'opac-bottom.inc' %] +[% BLOCK jsinclude %][% END %] diff --git a/opac/pages.pl b/opac/pages.pl new file mode 100755 index 0000000..17452e2 --- /dev/null +++ b/opac/pages.pl @@ -0,0 +1,76 @@ +#!/usr/bin/perl + +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +use strict; +use warnings; +use CGI; +use C4::Auth; # get_template_and_user +use C4::Output; +use C4::NewsChannels; # get_opac_news +use C4::Languages qw(getTranslatedLanguages accept_language); +use C4::Koha qw( GetDailyQuote ); + +my $input = new CGI; +my $dbh = C4::Context->dbh; + +my ( $template, $borrowernumber, $cookie ) = get_template_and_user( + { + template_name => "pages.tt", + type => "opac", + query => $input, + authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ), + flagsrequired => { borrow => 1 }, + } +); + +my $casAuthentication = C4::Context->preference('casAuthentication'); +$template->param( + casAuthentication => $casAuthentication, +); + + +# display news +# use cookie setting for language, bug default to syspref if it's not set +my ($theme, $news_lang, $availablethemes) = C4::Templates::themelanguage(C4::Context->config('opachtdocs'),'opac-main.tt','opac',$input); + +my $all_koha_news = &GetNewsToDisplay($news_lang); +my $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, + display_daily_quote => C4::Context->preference('QuoteOfTheDay'), + daily_quote => $quote, +); + +my $page = "page_" . $input->param('p'); # go for "p" value in URL and do the concatenation +my $preference = C4::Context->preference($page); # Go for preference +$template->{VARS}->{'page_test'} = $preference; # pass variable to template pages.tt + +# If GoogleIndicTransliteration system preference is On Set paramter to load Google's javascript in OPAC search screens +if (C4::Context->preference('GoogleIndicTransliteration')) { + $template->param('GoogleIndicTransliteration' => 1); +} + +if (C4::Context->preference('OPACNumbersPreferPhrase')) { + $template->param('numbersphr' => 1); +} + +output_html_with_http_headers $input, $cookie, $template->output; -- 1.8.1.2