2011-07-21 32 views
3

我創建了很多敏捷內容類型(謝謝zopeskel.dexterity devs !!),但即使我需要它們是不同的內容類型(搜索,集合...),一些他們將被平等地表達。對不同的內容類型重複使用相同的模板

那麼,有什麼方法可以爲不同的內容類型重複使用相同的模板?

好吧,我做了工作,但我想知道如果這是正確的做法:

from my.product.parent_type import IParentType, ParentType, TwoColumnsView 

... code omitted ... 

# Common folder for templates 
grok.templatedir('parent_type_templates') 

class SameTwoColumnsView(TwoColumnsView): 
    grok.context(CustomClass) 
    grok.require('zope2.View') 

    grok.template("twocolumnsview") 

任何想法? 您如何在內容類型中重複使用模板?

回答

6

創建此接口:

from zope.interface import Interface 

class ITwoColumnViewable(Interface): 
    """Can be viewed in a 2-column layout""" 

你那麼這個接口添加到您的各種內容類型,而是直接的類型註冊該接口的視圖:

class SameTwoColumnsView(TwoColumnsView): 
    grok.context(ITwoColumnViewable) 
相關問題