[Checkins] SVN: Grokstar/trunk/src/grokstar/blog.py * Make breadcrumbs work.

Uli Fouquet uli at gnufix.de
Sat Feb 20 11:27:37 EST 2010


Log message for revision 109184:
  * Make breadcrumbs work.
  * Add viewlet to add HTML related stuff in header.
  

Changed:
  U   Grokstar/trunk/src/grokstar/blog.py

-=-
Modified: Grokstar/trunk/src/grokstar/blog.py
===================================================================
--- Grokstar/trunk/src/grokstar/blog.py	2010-02-20 16:26:50 UTC (rev 109183)
+++ Grokstar/trunk/src/grokstar/blog.py	2010-02-20 16:27:36 UTC (rev 109184)
@@ -61,8 +61,18 @@
 class Top(grok.ViewletManager):
     grok.name('top')
 
+class HtmlHead(grok.Viewlet):
+    grok.viewletmanager(Head)
+    grok.order(0)
+
+    def getAppTitle(self):
+        """Get the title of our blog.
+        """
+        return grok.getSite().title
+    
 class CssHead(grok.Viewlet):
     grok.viewletmanager(Head)
+    grok.order(1)
 
 class TitleHeader(grok.Viewlet):
     grok.viewletmanager(Top)
@@ -120,12 +130,6 @@
     def entries(self): 
         return allEntries(10)
 
-class Breadcrumbs(object):
-    grok.viewletmanager(Top)
-    def parents(self):
-        pl = getParents(self.context)
-        return pl
-        
 class Entries(grok.Container):
     pass
 
@@ -205,4 +209,23 @@
 
         self.entries = Query().searchResults(
                 (query.Eq(('entry_catalog', 'workflow_state'), PUBLISHED) &
-                  AllOf(('entry_catalog', 'categories'), [self.c])))
\ No newline at end of file
+                  AllOf(('entry_catalog', 'categories'), [self.c])))
+
+class Breadcrumbs(grok.Viewlet):
+    grok.viewletmanager(Top)
+    grok.context(Interface)
+    grok.order(10)
+    
+    def parents(self):
+        parent_list = getParents(self.context)
+        parent_list.reverse()
+        return parent_list
+    
+    def getName(self, obj):
+        """Get a name for an object.
+        """
+        if IBlog.providedBy(obj):
+            return obj.title
+        elif isinstance(obj, Entries):
+            return 'All Entries'
+        return getattr(obj, '__name__', '')



More information about the checkins mailing list