コンテンツタイプがFolderで、アイテムが4つあるとします。フォルダ化されたコンテンツの束をループします。
+ MyObject
- Child1
- Child2
- Child3
+ Child4
- Child5
- Child6
は、私は別のコンテンツタイプが(のはAlias
それを呼びましょう)があるとします。このAlias
は主に別のオブジェクトへの参照ですが、folderish:他のエイリアスを含むことができます。 -->
を使用して、この参照を次のツリー表現で示します(「参照」は主に、対象オブジェクトからUIDを受け取る「参照」という属性です)。
MyAlias
が現在MyObject
を参照しているとします。
+ MyAlias --> MyObject
- (Nothing)
MyObject
に参照し、MyAlias
はMyObject
がフォルダであることを知りませんので、内部MyAliasの子供たちが存在しません。誰もがループして、手動でMyAlias
内のエイリアスを作成する必要があります。これは、参照(同じ構造を持つ)で、MyObject
の子です。どうするかを示す小さな木:
+ MyAlias --> MyObject
- Alias --> Child1
- Alias --> Child2
- Alias --> Child3
+ Alias --> Child4
- Alias --> Child5
- Alias --> Child6
私はループのいくつかの種類を使用して、加入者にinvokeFactory
を使用して、MyObject
項目を反復処理するための最良の方法を知っているし、他のオブジェクトと同じ構造を作成したいと思います。最後に、私は両方の木が存在するでしょう:実際のフォルダと子のうちの1つと、同じフォルダと子への参照のもう1つです。
(要約:。collective.aliasのようなものを、私はcollective.aliasを使用することはできませんので、本当に原始的な形で、ちょうど、ドキュメントをフォルダ)
portal_catalogを使用しないのはなぜですか?それはあなたの友人です、それはあなたの現在のパスで、より深く、すべてのオブジェクトを簡単に与えるでしょう! –
@Martijn Pieters:シナリオに関する詳細情報を私の質問に更新しました。 –
@Somebody:カタログを使わない理由はまだありません! :-) –