对不同的内容类型重复使用相同的模板
我正在创建相当多的 Dexterity 内容类型(感谢 zopeskel.dexterity 开发者!!)但即使我需要它们是不同的内容类型(搜索、集合......),其中一些也会被同等地呈现。
那么,有什么方法可以为不同的内容类型重用相同的模板吗?
好的,我成功了,但我想知道这是否是正确的方法:
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")
有什么想法吗? 如何跨内容类型重复使用模板?
I'm creating quite a few Dexterity content types (thanks zopeskel.dexterity devs!!) but even if I need them to be different content types (searches, collections...), some of them will be rendered equally.
So, there's any way to reuse the same template for different content types?
Ok, I made it work but I'm wondering if it's the correct approach:
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")
Any thought? How do you reuse templates across content types?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为此创建一个接口:
然后将此接口分配给您的各种内容类型,并注册该接口的视图,而不是直接注册类型:
Create an interface for this:
You then assign this interface to your various content types, and register the view for that interface instead directly for a type: