Aar*_*ams 4 sorting directory plone archetypes dexterity
如何使我的文件夹自定义类型在folder_contents视图中以反向时间顺序显示它的对象列表?
默认是列表顶部最旧的对象,我希望新添加的对象位于列表顶部.
如果Plone开箱即用这个功能会很好......如果它有,我找不到它.
要实际更改其父级中的obj位置,您可以利用Zope2的接口OFS.IOrderedContainer来访问相关方法并将其连接起来zope.lifecycleevent.interfaces.IObjectAddedEvent,就像在这个Plone-addon" adi.revertorder "(免责声明:author = meh)中一样:
在configure.zcml注册eventlistener时:
<subscriber for="Products.CMFCore.interfaces.IContentish
zope.lifecycleevent.interfaces.IObjectAddedEvent"
handler=".subscriber.revertOrder" />
Run Code Online (Sandbox Code Playgroud)
在处理程序(这里:)中subscriber.py,定义被调用的方法:
from Acquisition import aq_inner
from Acquisition import aq_parent
from OFS.interfaces import IOrderedContainer
def revertOrder(obj, eve):
"""
Use IOrderedContainer interface to move an object to top of folder on creation.
"""
parent = obj.aq_inner.aq_parent
ordered = IOrderedContainer(parent, None)
if ordered is not None:
ordered.moveObjectToPosition(obj.getId(), 0)
Run Code Online (Sandbox Code Playgroud)
适用于基于敏捷和原型的内容类型.
另见文档:http://docs.plone.org/external/plone.app.dexterity/docs/advanced/event-handlers.html