Difference between revisions of "API:EPrints/Apache/Template"
Line 44: | Line 44: | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
</div> | </div> | ||
− | <!-- Pod2Wiki= | + | <!-- Pod2Wiki=head_custom_pins --> |
− | ===Pins=== | + | ===Custom Pins=== |
+ | In <tt>cfg.d/dynamic_template.pl</tt>: | ||
+ | |||
+ | $c->{dynamic_template}->{function} = sub { | ||
+ | my( $repo, $parts ) = @_; | ||
+ | |||
+ | $parts->{mypin} = $repo->xml->create_text_node( "Hello, World!" ); | ||
+ | }; | ||
+ | |||
+ | In <tt>archives/[archiveid]/cfg/templates/default.xml</tt> (copy from <tt>lib/templates/default.xml if not already exists): | ||
+ | |||
+ | </tt> <epc:pin ref="mypin" /> | ||
+ | |||
+ | Or, for just the text content of a pin: | ||
+ | |||
+ | <epc:pin ref="mypin" textonly="yes" /> | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=head_default_pins --> | ||
+ | ===Default Pins=== | ||
<div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
<span style='display:none'>User Comments</span> | <span style='display:none'>User Comments</span> |
Revision as of 16:28, 14 December 2011
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki
Contents
NAME
EPrints::Apache::Template - Template Applying Module
SYNOPSIS
<?xml version="1.0" standalone="no"?> <!DOCTYPE html SYSTEM "entities.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:epc="http://eprints.org/ep3/control"> <head> <title><epc:pin ref="title" textonly="yes"/> - <epc:phrase ref="archive_name"/></title> ...
DESCRIPTION
When HTML pages are served by EPrints they are processed through a template file. There are typically two template files, one for HTTP and one for HTTPS (if configured).
Templates are parsed at the server start-up which expands any included phrases. The resulting document is split into chunks where a chunk is either a section of XHTML or an <epc:pin>. Pins are replaced with the page content.
Custom Pins
In cfg.d/dynamic_template.pl:
$c->{dynamic_template}->{function} = sub { my( $repo, $parts ) = @_; $parts->{mypin} = $repo->xml->create_text_node( "Hello, World!" ); };
In archives/[archiveid]/cfg/templates/default.xml (copy from lib/templates/default.xml if not already exists):
<epc:pin ref="mypin" />
Or, for just the text content of a pin:
<epc:pin ref="mypin" textonly="yes" />
Default Pins
title
The title of the page.
page
The page content.
login_status_header
HTML <head> includes for the login status of the user - currently just some JavaScript variables.
head
Page-specific HTML <head> contents.
pagetop
(Unused?)
login_status
A menu containing EPrints::Plugin::Screens that appear in key_tools. The content from each plugin's render_action_link is rendered as a HTML <ul> list.
Historically this was the login/logout links plus key_tools but since 3.3 login/logout are Screen plugins as well.
languages
The render_action_link from EPrints::Plugin::Screen::SetLang.
SEE ALSO
The directories scanned for template sources are in EPrints::Repository/template_dirs.
COPYRIGHT