Skip to main content
 首页 » 编程设计

python之有没有在 Plone 中设置垃圾桶的方法

2025年05月04日20shihaiming

我想让 Plone (4.3.7) 站点的所有成员都可以恢复意外删除的文件。 我只是为此找到了 ecreall.trashcan,但我在安装时遇到了一些问题。将其添加到 buildout.conf 并执行 bin/buildout 后,输出包含一些错误,例如...

File "build/bdist.linux-x86_64/egg/ecreall/trashcan/skins/ecreall_trashcan_templates/isTrashcanOpened.py", line 11 return session and session.get('trashcan', False) or False SyntaxError: 'return' outside function

File "build/bdist.linux-x86_64/egg/ecreall/trashcan/skins/ecreall_trashcan_templates/object_trash.py", line 23 return context.translate(msg) SyntaxError: 'return' outside function

File "build/bdist.linux-x86_64/egg/ecreall/trashcan/skins/ecreall_trashcan_templates/object_restore.py", line 23 return context.translate(msg) SyntaxError: 'return' outside function

...

因此,我没有发现任何新的附加组件可以在站点设置中启用或配置。

有人知道可能是什么,或者有另一种方法可以做我想做的事吗? 请....提前致谢

请您参考如下方法:

像“return outside funtion”这样的输出是harmless during install ,编译器认为它需要编译稍后只会在 Plone 内部运行的脚本(它在函数内部,但编译器不知道)。

在实验中,Trashcan 似乎需要一个 zcml slug,即在您的 buildout.cfg 中,在 [buildout] 部分,扩展 zcml 短语:

############################################ 
# ZCML Slugs 
# ---------- 
# Some eggs need ZCML slugs to tell Zope to 
# use them. This is increasingly rare. 
 
zcml = 
    ecreall.trashcan 
    (further lines) 

至少,它会出现在 ZMI 快速安装程序中,我没有进一步调查。