site: Add a "footerbottom" div to stretch the body element.
[matthijs/projects/wipi.git] / plugin / theme / site.py
index 37bff91f75dc2e4b3341aa25054417f6f7bf8ab1..e58d273fb55e27efad6abed19b718313cf56658d 100644 (file)
@@ -46,8 +46,8 @@ class SiteTheme(ThemeBase):
 
             # Header
             u'<div id="header">',
+            self.logo(),
             self.menu(d),
-            #self.logo(),
             #self.username(d),
             #u'<div id="locationline">',
             #self.interwiki(d),
@@ -62,10 +62,11 @@ class SiteTheme(ThemeBase):
             # Post header custom html (not recommended)
             self.emit_custom_html(self.cfg.page_header2),
 
-            # Start of page
-            self.startPage(),
-            self.editbar(d),
             self.msg(d),
+            self.editbar(d),
+
+            # Start of page
+            self.startPage(d),
         ]
         return u'\n'.join(html)
 
@@ -82,6 +83,7 @@ class SiteTheme(ThemeBase):
 
             # Header
             u'<div id="header">',
+            self.logo(),
             self.menu(d),
             u'</div>',
 
@@ -89,7 +91,7 @@ class SiteTheme(ThemeBase):
             self.emit_custom_html(self.cfg.page_header2),
 
             # Start of page
-            self.startPage(),
+            self.startPage(d),
             self.msg(d),
         ]
         return u'\n'.join(html)
@@ -105,7 +107,7 @@ class SiteTheme(ThemeBase):
         page = d['page']
         html = [
             # End of page
-            self.endPage(),
+            self.endPage(d),
 
             # Pre footer custom html (not recommended!)
             self.emit_custom_html(self.cfg.page_footer1),
@@ -118,6 +120,7 @@ class SiteTheme(ThemeBase):
             #self.editbar(d),
             #self.credits(d),
             #self.showversion(d, **keywords),
+            u'<div id="footerbottom"></div>',
             u'</div>',
 
             # Post footer custom html
@@ -168,6 +171,19 @@ class SiteTheme(ThemeBase):
                     }
         return html
 
+    def startPage(self, d):
+        # This opens up #page
+        html = ThemeBase.startPage(self)
+        html += u'<div id="pagetop"></div>\n'
+        html += u'<div id="pagemiddle">\n'
+        return html
+
+    def endPage(self, d):
+        html = u'</div><!-- #pagemiddle -->\n'
+        html += ThemeBase.endPage(self)
+        # This adds #pagebottom and closes #page
+        return html
+
 def execute(request):
     """
     Generate and return a theme object