当用户登录时,有没有办法为特定(已开发)内容类型“编辑”制作默认选定标签?
答案 0 :(得分:0)
您可以使用类似于链接内容类型中使用的方法。
假设您使用的是Grok,请创建如下浏览器视图:
from five import grok
from plone import api
from my.contenttype.interfaces import IMyContentType
grok.templatedir('templates')
class MyContentTypeRedirectView(grok.View):
grok.context(IMyContentType)
grok.name('my_redirect_view')
grok.require('zope2.View')
def render(self):
"""Redirect to the target URL if the user is logged in."""
context = self.context
mtool = api.portal.get_tool('portal_membership')
is_anonymous = mtool.isAnonymousUser()
if is_anonymous:
return context.restrictedTraverse('@@view')()
else:
return context.restrictedTraverse('@@edit')()
在您的内容类型FTI XML文件中设置以下内容:
<property name="default_view">my_redirect_view</property>
<property name="default_view_fallback">False</property>
<property name="view_methods">
<element value="my_redirect_view" />
</property>
这样,当用户匿名时,它将被重定向到标准视图,当它登录时,它将被重定向到编辑视图。
您可以在sc.banner自定义内容类型中看到与此类似的代码。