[Jifty-commit] r3339 - jifty/trunk/lib/Jifty/View/Declare
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Sun Jun 3 19:28:43 EDT 2007
Author: clkao
Date: Sun Jun 3 19:28:43 2007
New Revision: 3339
Modified:
jifty/trunk/lib/Jifty/View/Declare/Helpers.pm
jifty/trunk/lib/Jifty/View/Declare/Page.pm
Log:
Fix title handling.
Modified: jifty/trunk/lib/Jifty/View/Declare/Helpers.pm
==============================================================================
--- jifty/trunk/lib/Jifty/View/Declare/Helpers.pm (original)
+++ jifty/trunk/lib/Jifty/View/Declare/Helpers.pm Sun Jun 3 19:28:43 2007
@@ -315,31 +315,16 @@
$page->render_footer;
} else {
$page->done_header(1);
- $page->render_page;
+ $page->render_page->();
}
}
else {
- $page->render_header;
$page->render_body( sub { $page->render_page->() });
$page->render_footer;
}
}
-=head2 render_header $title
-
-Renders an HTML "doctype", <head> and the first part of a page body. This bit isn't terribly well thought out and we're not happy with it.
-
-=cut
-
-sub render_header {
- my $title = shift || '';
- $title =~ s/<.*?>//g; # remove html
- HTML::Entities::decode_entities($title);
- with( title => $title ), show('header');
-}
-
-
1;
Modified: jifty/trunk/lib/Jifty/View/Declare/Page.pm
==============================================================================
--- jifty/trunk/lib/Jifty/View/Declare/Page.pm (original)
+++ jifty/trunk/lib/Jifty/View/Declare/Page.pm Sun Jun 3 19:28:43 2007
@@ -32,6 +32,12 @@
return $self;
}
+=head2 render_header $title
+
+Renders an HTML "doctype", <head> and the first part of a page body. This bit isn't terribly well thought out and we're not happy with it.
+
+=cut
+
sub render_header {
my $self = shift;
return if $self->done_header;
@@ -40,7 +46,8 @@
outs_raw(
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'
. '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">' );
- Jifty::View::Declare::Helpers::render_header($self->_title || Jifty->config->framework('ApplicationName'));
+
+ $self->_render_header($self->_title || Jifty->config->framework('ApplicationName'));
$self->done_header(Template::Declare->buffer->data);
Template::Declare->end_buffer_frame;
@@ -65,7 +72,7 @@
attr { id is 'content' };
div {
{
- no warnings qw( uninitialized redefine once );
+ no warnings qw( redefine once );
local *is::title = $self->mk_title_handler();
$self->render_pre_content_hook();
@@ -83,18 +90,28 @@
}
sub mk_title_handler {
- my $self = shift; shift;
- for (@_) {
- if ( ref($_) eq 'CODE' ) {
- Template::Declare->new_buffer_frame;
- $_->();
- $self->_title( $self->_title . Template::Declare->buffer->data );
- Template::Declare->end_buffer_frame;
- } else {
- $self->_title( $self->_title . Jifty->web->escape($_) );
+ my $self = shift;
+ return sub {
+ shift;
+ for (@_) {
+ no warnings qw( uninitialized );
+ if ( ref($_) eq 'CODE' ) {
+ Template::Declare->new_buffer_frame;
+ $_->();
+ $self->_title(
+ $self->_title . Template::Declare->buffer->data );
+ Template::Declare->end_buffer_frame;
+ } else {
+ $self->_title( $self->_title . Jifty->web->escape($_) );
+ }
}
- }
- $self->render_header;
+ $self->render_header;
+ $self->render_title();
+ };
+}
+
+sub render_title {
+ my $self = shift;
my $oldt = get('title');
set( title => $self->_title );
show 'heading_in_wrapper';
@@ -136,5 +153,12 @@
}
}
+sub _render_header {
+ my $self = shift;
+ my $title = shift || '';
+ $title =~ s/<.*?>//g; # remove html
+ HTML::Entities::decode_entities($title);
+ with( title => $title ), show('header');
+}
1;
More information about the Jifty-commit
mailing list