OpenGuides::Template - Do Template Toolkit related stuff for OpenGuides applications.
Does all the Template Toolkit stuff for OpenGuides. Distributed and installed as part of the OpenGuides project, not intended for independent installation. This documentation is probably only useful to OpenGuides developers.
use OpenGuides::Config; use OpenGuides::Utils; use OpenGuides::Template; my $config = OpenGuides::Config->new( file => "wiki.conf" ); my $wiki = OpenGuides::Utils->make_wiki_object( config => $config ); print OpenGuides::Template->output( wiki => $wiki, config => $config, template => "node.tt", vars => { foo => "bar" } );
print OpenGuides::Template->output( wiki => $wiki, config => $config, template => "node.tt", content_type => "text/html", cookies => $cookie, vars => {foo => "bar"}, noheaders => 1 );
Returns everything you need to send to STDOUT, including the Content-Type: header. Croaks unless template is supplied.
template
The config object and variables supplied in vars are passed through to the template specified. Additional Template Toolkit variables are automatically set and passed through as well, as described below. Note: variables set in vars will over-ride any variables of the same name in the config object or the user cookies.
vars
openguides_version
site_name
cgi_url
full_cgi_url
enable_page_deletion (gets set to true or false - defaults to false)
enable_page_deletion
contact_email
stylesheet
home_link
formatting_rules_link (unless omit_formatting_link is set in user cookie)
formatting_rules_link
omit_formatting_link
navbar_on_home_page
home_name
gmaps_api_key
licence_name
licence_url
licence_info_url
prefs (the preferences from the user cookie)
prefs
If node is supplied:
node
node_name
node_param (the node name escaped for use in URLs)
node_param
Content-Type: defaults to text/html and is omitted if the content_type arg is explicitly set to the blank string.
text/html
content_type
However, what you more often need is the noheaders option, which suppresses all HTTP headers, not just the Content-Type.
noheaders
The HTTP response code may be explictly set with the http_status arg.
http_status
my %node_data = $wiki->retrieve_node( "Home Page" ); my %metadata_vars = OpenGuides::Template->extract_metadata_vars( wiki => $wiki, config => $config, metadata => $node_data{metadata} ); # -- or -- my %metadata_vars = OpenGuides::Template->extract_metadata_vars( wiki => $wiki, config => $config, cgi_obj => $q ); # -- then -- print OpenGuides::Template->output( wiki => $wiki, config => $config, template => "node.tt", vars => { foo => "bar", %metadata_vars } );
Picks out things like categories, locales, phone number etc from EITHER the metadata hash returned by Wiki::Toolkit OR the query parameters in a CGI object, and packages them nicely for passing to templates or storing in Wiki::Toolkit datastore. If you supply both metadata and cgi_obj then metadata will take precedence, but don't do that.
metadata
cgi_obj
The variables dist_field, coord_field_1, coord_field_1_name, coord_field_1_value, coord_field_2, coord_field_2_name, and coord_field_2_value, which are used to create various forms, will only be set if either metadata is supplied or set_coord_field_vars is true, to prevent these values from being stored in the database on a node commit.
dist_field
coord_field_1
coord_field_1_name
coord_field_1_value
coord_field_2
coord_field_2_name
coord_field_2_value
set_coord_field_vars
The OpenGuides Project (openguides-dev@lists.openguides.org)
Copyright (C) 2003-2013 The OpenGuides Project. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install OpenGuides, copy and paste the appropriate command in to your terminal.
cpanm
cpanm OpenGuides
CPAN shell
perl -MCPAN -e shell install OpenGuides
For more information on module installation, please visit the detailed CPAN module installation guide.