dev:opac:template-toolkit
This is an old revision of the document!
Table of Contents
Template Toolkit OPAC
- Author: Bill Erickson
- Create Date: 2011-03-08
The Code
The code currently lives in an ESI Git branch called "template-toolkit-opac". You can view the code and watch changes here.
Downloading the code by creating a git clone of the branch
$ git clone git://git.evergreen-ils.org/evergreen/equinox.git $ cd equinox $ git checkout -tb template-toolkit-opac origin/template-toolkit-opac
The code changes frequently. You can update the code by pulling changes from the repository.
$ git checkout template-toolkit-opac # just in case $ git pull
Installation
Prerequisites
- Install the following additional Perl modules via OS package manager or CPAN:
- Template::Plugin::POSIX
- Locale::Maketext::Lexicon
Installing Over an existing Evergreen installation (2.1+)
- Copy these files from the repository into place on the file system. Your mileage may vary on OS-dependent paths. Note: Be careful not to clobber local changes you didn't want clobbered.
$ sudo cp Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/ $ sudo -u opensrf cp Open-ILS/examples/oils_web.xml.example /openils/conf/oils_web.xml $ sudo cp -r Open-ILS/src/perlmods/lib/OpenILS/WWW/* /usr/local/share/perl/5.10.1/OpenILS/WWW/ $ sudo -u opensrf cp -r Open-ILS/web/* /openils/var/web/
- Reload or restart Apache.
- Navigate to http://SERVER/eg/opac/home and you should see the KCLS-skinned server-side OPAC.
Staff Client Integration
- The eventual goal is to fully integrate the TT OPAC into the staff client. Until it's complete, it's necessary to manually configure the staff client to use the new OPAC.
- To use the Template Toolkit OPAC as the catalog in the staff client, as opensrf:
echo "urls['opac'] = '/eg/opac/advanced'; urls['opac_rdetail'] = '/eg/opac/record/'; urls['opac_rresult'] = '/eg/opac/results'; urls['opac_rresult_metarecord'] = '/eg/opac/results?metarecord='; urls['browser'] = urls.opac;" > /openils/var/web/xul/server/skin/custom.js;
Customizing
Skinning
Skinning the TT OPAC is much easier than skinning previous incarnations of the Evergreen OPAC.
- Create a directory where you will store your template customizations, let's say
/openils/var/web/my_own_templates
.
- Look for the node
<template_paths>
in your/openils/conf/oils_web.xml
file.
- Add a new
<path>
child node directly above all existing ones so that everything within<template_paths>
now looks something like this:
<template_paths> <path>/openils/var/web/my_own_templates</path> <path>/openils/var/web/templates</path> </template_paths>
- Place your version of all
.tt2
files that you would edit into a directory structure that mirrors that of the stock template path. That is, if you want to have your own version of/openils/var/web/templates/default/opac/parts/topnav.tt2
, put it at/openils/var/web/my_own_templates/default/opac/parts/topnav.tt2
.
- Do not copy every file under
/openils/var/web/templates
intomy_own_templates
– that is not necessary.
- Reload Apache.
Custom Perl Handler
It's possible to override specific behavior of the default OPAC mod_perl handler by sub-classing the default and selecting methods to override.
- Create a local Perl module that is a subclass of OpenILS::WWW::EGCatLoader. Example:
package EGCatLoaderLocal; use base 'OpenILS::WWW::EGCatLoader'; # override a single method sub redirect_auth { my $self = shift; return $self->generic_redirect("http://my-fancy-auth-service.example.org"); }
- Configure the new Perl module as the OPAC handler in Apache
<Location /eg/opac> #PerlSetVar OILSWebContextLoader "OpenILS::WWW::EGCatLoader" PerlSetVar OILSWebContextLoader "EGCatLoaderLocal" </Location>
- Reload Apache
dev/opac/template-toolkit.1312387347.txt.gz · Last modified: 2022/02/10 13:34 (external edit)