現在、ブログ、ニュース、イベントにoobページタイプを使用しています。これらのタイプのページのリストを表示するリピーターが含まれています。また、作成した日付でソートされたブログ、ニュース、イベントのすべてのページを1つの場所に表示するリピーターを含むページもあります。
リピーターが複数のページタイプをレンダリングすることはできますが、レンダリングされたフィールドはそれぞれのページタイプで同一でなければならないという古いコメント(here、here)があります。回避策は、各ページタイプに同じフィールドを作成するか、カスタムSQLクエリを作成し、クエリーリピータを使用してデータをレンダリングすることを推奨します。私はこれをして、それはうまく動作しますが、作成するのはかなり面倒だったし、維持することが難しいでしょう。 (たとえば、他のページタイプを追加したい場合)誰もKentico 10で利用可能なよりすぐに使用できる方法を提案できますか?Kentico 10 - リピーターを使用して複数のページタイプを表示する
更新:
私はBrendenが説明するように、これを達成しようとしているが、トラブルに実行しています。 次のようにマイページの構造は次のとおりです。私はユニバーサルビューアを使用しようとしましたが、それはすべてのデータを返すために取得に失敗しました
Root
.RollupPage (CMS.MenuItem)
..BlogPosts (CMS.Blog)
...January 2017 (CMS.BlogMonth)
....blog post 1 (CMS.BlogPost)
...February 2017 (CMS.BlogMonth)
....blog post 2 (CMS.BlogPost)
..Events (CMS.MenuItem)
...Event1 (CMS.BookingEvent)
...Event2 (CMS.BookingEvent)
。
Path: /RollupPage/%
Page types: CMS.BlogPost;CMS.BookingEvent
Hierarchical Transformation: CMS.MenuItem.HierTrans1
HierTrans1は、以下の変換があります:
は、私はそれを構成
CMS.BlogPost.Default (Item transformation for type CMS.BlogPost)
CMS.BookingEvent.EventCalendarItem (Item transformation for type CMS.BookingEvent)
これらは全くカスタマイズされていないと、彼らは標準的なOOB変換であり、私はそれが動作することがわかります。
ロールアップページを表示すると、ユニバーサルビューアに何も表示されません。
ユニバーサルビューアで行ったのと同じ設定の階層ビューアを使用しようとしました。それは一種の仕事です。予約イベントは表示されましたが、ブログ投稿は表示されませんでした。しかし、が/RollupPage/BlogPosts/%
に設定された階層ビューアで同じブログ投稿変換(CMS.BlogPost.default)を使用すると、ブログ投稿は正しく表示されましたが、明らかに私の予約イベントは表示されませんでした。
私が今までに得た結果は、私が私のページを作成した方法についての何かが、ユニバーサルビューアがツリー全体を横切ることを止めていること、そして/またはb)階層ビューアが、または深刻なレベルの、またはおそらく木を横切ることからブロックされている...これらのWebパーツを編集または表示すると、イベントは記録されません。
私が間違っている可能性がありますか?
オブジェクトのリスティングを表示するときにリピータのプロパティでクラス名をチェックすることはできません。個々のオブジェクトではなく、リストを示すページのクラス名を常に取得します。 また、条件付き変換を行うとうまくいっていますが、ボックスのwebpart(ユニバーサルビューア)が何もコーディングせずにこれを行う場合、そのコードを書く必要はありません。 –