Plone - 如何检查用户是否在 /folder_contents 查看操作中



因为我使用 plone.app.widgets (1.8.0) 和 wildcard.foldercontents (1.3.2),所以我必须只对/folder_contents 选项卡禁用 pa.widgets-Javascript。

多重上传在启用 pa.widgets 的情况下不起作用

 ().fileUpload is not a function

但是我怎么确定呢?我尝试过:

context/absolute_url  
context/@@plone_context_state/object_url
getViewTemplateId
and a few more

普隆 4.3.4.1

我在通配符.foldercontentcollective.z3cform.widgets.上遇到了类似的问题。两者都有一个相关的JS代码

,但存在冲突。

我像这样检查该条件:

self.request.steps[-1] != "folder_contents"

在folder_contents选项卡中,请求的最后一步始终为"folder_contents"。

我不知道这是否是最好的解决方案,但它有效

对不起,就这么简单

request.ACTUAL_URL

打开更好的解决方案:-)

您可以尝试以下代码:

mt = getToolByName(self.context, 'portal_membership')
member = mt.getMemberById(username)
if member == 'Anonymous':
    pass
else:
    pass

您可以处理何时是匿名者或登录成员。

在 Plone 6 中:使用 View 类

from Acquisition import aq_inner
from plone.app.content.browser.contents import FolderContentsView
# Get the current context
context = aq_inner(context)
# Check if the context is a FolderContentsView
if isinstance(context, FolderContentsView):
    print("You are inside a FolderContentsView")
else:
    print("You are not inside a FolderContentsView")
    

或带有界面:

from Acquisition import aq_inner
from plone.app.content.browser.interfaces import IFolderContentsView
# Get the current context
context = aq_inner(context)
# Check if the context provides the IFolderContentsView interface
if IFolderContentsView.providedBy(context):
    print("You are inside a FolderContentsView")
else:
    print("You are not inside a FolderContentsView")

相关内容

  • 没有找到相关文章

最新更新