van*_*eem 2 python zope plone archetypes
我有一个源自 ATBTreeFolder 的文件夹内容类型,它在 plone 4(实际上在 Products.Archetypes 中)将排序设置为“无序”。
如果我继续设置要排序的顺序,这只是一个空字符串,则文件夹会混淆并且不会向我显示文件夹的内容。事实上,我会得到这样的错误:
File "buildout-cache/eggs/plone.folder-1.0.1-py2.6.egg/plone/folder/default.py", line 130, in getObjectPosition
raise ValueError('No object with id "%s" exists.' % id)
ValueError: No object with id "someid" exists.
Run Code Online (Sandbox Code Playgroud)
我假设需要运行一些迁移才能在最初无序的文件夹上设置排序,但我在 plone.app.folder 和 plone.folder 中找不到任何可用于这种情况的东西。
我写了一个升级脚本,似乎解决了这个问题:
catalog = getToolByName(context, 'portal_catalog')
for brain in catalog(portal_type='MyType'):
obj = brain.getObject()
if obj._ordering == 'unordered':
obj.setOrdering(u'')
order = obj.getOrdering()
for id in obj._tree:
if id not in order._order():
order.notifyAdded(id)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
238 次 |
| 最近记录: |