=head1 NAME XAO::DO::Web::Header - Simple HTML header =head1 SYNOPSIS Currently is only useful in XAO::Web site context. =head1 DESCRIPTION Simple HTML header object. Accepts the following arguments, modifies them as appropriate and displays "/bits/page-header" template passing the rest of arguments unmodified. =over =item title => 'Page title' Passed as is. =item description => 'Page description for search engines' This is converted to . =item keywords => 'Page keywords for search engines' This is converted to . =item path => '/bits/alternative-template-path' Header template path, default is "/bits/page-header". =item type => 'text/csv' Allows you to set page type to something different then default "text/html". If you set type the template would not be displayed! If you still need it - call Header again without "type" argument. =back Would pass the folowing arguments to the template: =over =item META Keywords and description combined. =item TITLE The value of 'title' argument above. =back Example: <%Header title="Site Search" keywords="super, duper, hyper, commerce"%> =head1 METHODS No publicly available methods except overriden display(). =head1 EXPORTS Nothing. =head1 AUTHOR Copyright (c) 2005 Andrew Maltsev Copyright (c) 2001-2004 Andrew Maltsev, XAO Inc. -- http://ejelta.com/xao/ =head1 SEE ALSO Recommended reading: L, L. =cut ############################################################################### package XAO::DO::Web::Header; use strict; use XAO::Utils; use XAO::Objects; use base XAO::Objects->load(objname => 'Web::Page'); use vars qw($VERSION); $VERSION=(0+sprintf('%u.%03u',(q$Id: Header.pm,v 2.1 2005/01/14 01:39:57 am Exp $ =~ /\s(\d+)\.(\d+)\s/))) || die "Bad VERSION"; ############################################################################### # Displaying HTML header. # sub display ($;%) { my $self=shift; my $args=get_args(\@_); if($args->{type}) { $self->siteconfig->header_args(-type => $args->{type}); return; } if($args->{'http.name'}) { $self->siteconfig->header_args( $args->{'http.name'} => $args->{'http.value'} || '' ); return; } my $meta=""; $meta.=qq(\n) if $args->{keywords}; $meta.=qq(\n) if $args->{description}; $self->SUPER::display(merge_refs($args, { path => $args->{path} || "/bits/page-header", TITLE => $args->{title} || "XAO::Web -- No Title", GIVEN_TITLE => $args->{title} || '', META => $meta, })); } ############################################################################### 1;