Provided by: openguides_0.84-1_all bug

NAME

       OpenGuides::Template - Do Template Toolkit related stuff for OpenGuides applications.

DESCRIPTION

       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.

SYNOPSIS

         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" }
         );

METHODS

       output
             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.

           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.

           •   "openguides_version"

           •   "site_name"

           •   "cgi_url"

           •   "full_cgi_url"

           •   "enable_page_deletion" (gets set to true or false - defaults to false)

           •   "contact_email"

           •   "stylesheet"

           •   "home_link"

           •   "formatting_rules_link" (unless "omit_formatting_link" is set in user cookie)

           •   "navbar_on_home_page"

           •   "home_name"

           •   "gmaps_api_key"

           •   "licence_name"

           •   "licence_url"

           •   "licence_info_url"

           •   "prefs" (the preferences from the user cookie)

           If "node" is supplied:

           •   "node_name"

           •   "node_param" (the node name escaped for use in URLs)

           Content-Type:  defaults  to "text/html" and is omitted if the "content_type" arg is explicitly set to
           the blank string.

           However, what you more often need is the "noheaders" option, which suppresses all HTTP  headers,  not
           just the Content-Type.

           The HTTP response code may be explictly set with the "http_status" arg.

       extract_metadata_vars
             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.

           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.

AUTHOR

       The OpenGuides Project (openguides-dev@lists.openguides.org)

COPYRIGHT

         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.

perl v5.32.0                                       2021-01-30                          OpenGuides::Template(3pm)