#FEATURE: also display debug messages? =head1 NAME Konstrukt::Plugin::errors - Display the error messages that occured during the page processing =head1 SYNOPSIS B <& errors / &> B A list of the errors, that occurred during the processing of the file, if any. =head1 DESCRIPTION Will display the error messages (if any) that have been created with C<$Konstrukt::Debug->error_message()>. A template named C will be used to display them. The template must have a list C, which must have a field C. =head1 CONFIGURATION You may set the path to the template (C) of this plugin. Default: errors/template_path /templates/errors/ =cut package Konstrukt::Plugin::errors; use strict; use warnings; use base 'Konstrukt::SimplePlugin'; #inheritance use Konstrukt::Plugin; #inheritance =head1 METHODS =head2 init Inititalization of this class =cut sub init { my ($self) = @_; #set default settings $Konstrukt::Settings->default("errors/template_path" => "/templates/errors/"); return 1; } #= /init =head2 install Installs the templates. B none =cut sub install { my ($self) = @_; return $Konstrukt::Lib->plugin_file_install_helper($Konstrukt::Settings->get('errors/template_path')); } # /install =head2 default :Action Default (and only) action for this plugin. Will display the error messages. B: =over =item * $tag - Reference to the tag (and its children) that shall be handled. =item * $content - The content below/inside the tag as a flat string. =item * $params - Reference to a hash of the passed CGI parameters. =back =cut sub default :Action { my ($self, $tag, $content, $params) = @_; if (@{$Konstrukt::Debug->{error_messages}}) { my $template = use_plugin 'template'; my $templ = $Konstrukt::Settings->get('errors/template_path') . "errors.template"; $self->add_node($template->node($templ, { errors => [ map { { text => $_ } } @{$Konstrukt::Debug->{error_messages}} ] })); } } #= /default =head2 executionstage This one should be executed last. =cut sub executionstage { return 999_999; } #= /executionstage 1; =head1 AUTHOR Copyright 2006 Thomas Wittek (mail at gedankenkonstrukt dot de). All rights reserved. This document is free software. It is distributed under the same terms as Perl itself. =head1 SEE ALSO L, L, L =cut __DATA__ -- 8< -- textfile: errors.template -- >8 --

There have been errors/warnings during the processing of this page:

    <+@ errors @+>
  • <+$ text $+>(No text)<+$ / $+>
  • <+@ / @+>