added meta_info for VP::SiteLayout
wreis [Thu, 7 Feb 2008 21:12:22 +0000 (21:12 +0000)]
lib/Reaction/UI/ViewPort/SiteLayout.pm
lib/Reaction/UI/Widget/SiteLayout.pm
share/skin/default/layout/site_layout.tt

index 4560dc6..a8ee133 100644 (file)
@@ -9,6 +9,11 @@ class SiteLayout is ViewPort, which {
 
   has 'static_base_uri' => (isa => 'Str', is => 'rw', lazy_fail => 1);
 
+  has 'meta_info' => (
+         is => 'rw', isa => 'HashRef',
+         required => '1', default => sub { {} }
+  );
+
 };
 
 1;
index 73406a9..dc9574a 100644 (file)
@@ -10,6 +10,15 @@ class SiteLayout is Container, which {
     arg title => $_{viewport}->title;
   };
 
+  implements fragment meta_info {
+    render meta_member => over [keys %{$_{viewport}->meta_info}];
+  };
+
+  implements fragment meta_member {
+    arg 'meta_name' => $_;
+    arg 'meta_value' => $_{viewport}->meta_info->{$_};
+  };
+
 };
 
 1;
index 1e7afa1..e9b70ca 100644 (file)
 =for layout head_meta 
 
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+  [% meta_info %]
+
+=for layout meta_info
+
+[% call_next %]
+
+=for layout meta_member
+
+<meta name="[% meta_name %]" content="[% meta_value %]" />[% "\n" %]
 
 =for layout head_style