0

インタープリターに親オブジェクトとオブジェクトサブオブジェクトの両方を提供するために検索されるすべてのオブジェクトがあります。この従来の再帰を評価しない Zope のために、再帰なしでこれを行いたいと思っています。

ビュー コンテキストを再帰のルート オブジェクトとして設定し、オブジェクトのアタッチを開始してから、このオブジェクトを親として持つオブジェクトを探して、フィルター処理された intid/objects のリストを反復処理します。そこから、誰かが助けてくれることを期待して、スターター コードを探します。

4

1 に答える 1

1

たぶん、この小さなトリックは、私にとってそうであったように、あなたにとっても役立つでしょう.
検索結果を PathIndex (getPhysicalPath) で制限し、アルファベット順に並べ替えることができます。

lst = context.Catalog.searchResults(path='/parentNodeId')
lst.sort()
print lst

次のようなものが表示されます。

# /parentNodeId/
# /parentNodeId/folder/
# /parentNodeId/folder/file1.jpg
# /parentNodeId/folder/file2.jpg
# /parentNodeId/folder/file1.jpg
# /parentNodeId/folder2/
# /parentNodeId/folder3/
# /parentNodeId/folder3/file1.jpg
# /parentNodeId/folder3/file2.jpg

この出力から、ツリー構造を簡単に構築できると思います

于 2010-10-08T12:59:44.710 に答える