我该如何向集合添加另一个排序级别呢?
例如:一个房地产网站有待售房产的列表。这些列表是使用Collections实现的。售出的房产需要在列表的底部,但其余的需要按价格排序。
发布于 2011-04-01 17:05:06
http://plone.org/products/collective.flexitopic
这是在javascript中实现的。如果你觉得合适的话。否则,此索引:
http://www.dieter.handshake.de/pyprojects/zope/#ManagableIndex
可以帮助您创建一个新字段来对集合进行排序。
另一种方法可以是给售出的房产一个负价,并且不显示它,这样排序就会像预期的那样工作。
发布于 2011-04-01 14:57:15
如果没有额外的编码,就不能这样做。在检索目录查询结果之后,您必须手动对它们进行排序,因为Zope目录本身不支持多级排序。根据您的结果集大小,这也可能是非常有效的。
如果您想走这条路,就必须继承ATContentTypes.content.topic.ATTopic类并覆盖queryCatalog方法,或者创建topic视图的新皮肤版本来调用不同的方法,然后调用queryCatalog,这样您就可以对其应用额外的排序。
不用说,这需要一些Plone和python专业知识。
发布于 2011-04-01 17:59:03
您可以创建嵌套集合。就像在默认事件集合中一样,它有一个"Past events“集合。我相信您不能在相同的清单中显示嵌套集合的对象,但至少您可以看到一个"Past events“大链接。
使用这种方法时,您应该从初始集合中排除出售的属性(sold必须是目录中的索引),而只将出售的属性包含在嵌套的目录中。
https://stackoverflow.com/questions/5509055
复制相似问题