[Koha-patches] [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
Indranil Das Gupta
indradg at gmail.com
Fri Aug 22 04:39:34 CEST 2014
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: <h1>Lorem ipsum</h1><hr/><p>Lorem ipsum dolor sit amet</p>
(d) Variable type: Textarea
(e) Variable options: 80|50
3) Browse to http://<your_OPAC_address>/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 %]
+</head>
+<body id="opac-main">
+[% INCLUDE 'masthead.inc' %]
+
+<div class="main">
+ <ul class="breadcrumb">
+ <li><a href="#">Home</a></li>
+ </ul>
+
+ [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
+ [% IF ( loggedinusername ) %]
+ <div id="loggedin" class="container-fluid">
+ [% ELSE %]
+ <div id="notloggedin" class="container-fluid">
+ [% END %]
+ [% ELSE %]
+ <div id="notloggedin" class="container-fluid">
+ [% END %]
+
+ <div class="row-fluid">
+ [% IF ( OpacNav || OpacNavBottom ) %]
+ <div class="span2">
+ <div id="navigation">
+ [% INCLUDE 'navigation.inc' %]
+ </div>
+ </div>
+ [% END %]
+
+ [% IF ( OpacNav || OpacNavBottom ) %]
+ <div class="span7">
+ [% ELSE %]
+ <div class="span9">
+ [% END %]
+
+ [% IF ( display_daily_quote && daily_quote ) %]
+ <div id="daily-quote">
+ <h3>Quote of the Day</h3>
+ <div>
+ <span id="daily-quote-text">[% daily_quote.text %]</span><span id="daily-quote-sep"> ~ </span><span id="daily-quote-source">[% daily_quote.source %]</span>
+ </div>
+ </div>
+ [% END %]
+
+ [% IF ( page_test ) %]<div id="opacmainuserblock">[% page_test %]</div>[% END %]
+ </div> <!-- / .span 7/9 -->
+
+ [% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) || OpacNavRight ) %]
+ <div class="span3">
+ [% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
+ [% UNLESS ( loggedinusername ) %]
+ [% UNLESS ( casAuthentication ) %]
+ <div id="login">
+ <form action="/cgi-bin/koha/opac-user.pl" method="post" name="auth" id="auth">
+ <input type="hidden" name="koha_login_context" value="opac" />
+ <fieldset class="brief">
+ <legend>Log in to your account:</legend>
+ <label for="userid">Login:</label><input type="text" id="userid" name="userid" />
+ <label for="password">Password:</label><input type="password" id="password" name="password" />
+ <fieldset class="action">
+ <input type="submit" value="Log in" class="btn" />
+ </fieldset>
+ [% IF PatronSelfRegistration && PatronSelfRegistrationDefaultCategory %]<div id="patronregistration"><p>Don't have an account? <a href="/cgi-bin/koha/opac-memberentry.pl">Register here.</a></p></div>[% END %]
+ </fieldset>
+ </form>
+ </div> <!-- /#login -->
+ [% END # /casAuthentication %]
+ [% IF persona %]
+ <a href="#" class="persona-button" id="browserid" ><span>Sign in with your email</span></a>
+ [% END # /persona %]
+ [% END # / loggedinusername %]
+ [% END # /opacuserlogin %]
+ [% IF ( OpacNavRight ) %]
+ <div id="opacnavright">
+ [% OpacNavRight %]
+ </div>
+ [% END # /OpacNavRight %]
+ </div> <!-- / .span3 -->
+ [% END # /opacuserlogin || OpacNavRight %]
+
+ </div> <!-- /.container-fluid -->
+ </div> <!-- /.row-fluid -->
+</div> <!-- /.main -->
+
+[% 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
More information about the Koha-patches
mailing list