0

コンテンツ セクションには、コンテンツ ツリーとは別にサイトのコンテンツを設定できるプロパティ エディター (アーキタイプ) があります。現在表示しているページに基づいて、1 つのカテゴリからサブカテゴリのみを表示する必要があります。私が今持っているものは次のとおりです。

//get the content with id of 1123 from Content Section, type DynamicPublishedContent
var catItems = Umbraco.Content(1123).categoryItem; 

foreach (var item in catItems)
{
  foreach (var sub in item.GetValue<ArchetypeModel>("subCatItem"))
  {
    <div class="tbl_dt">
        <p class="offerName">@sub.GetValue("offerName")</p>
        <p class="departurePort">@sub.GetValue("departurePort")</p>
    </div>
 }
}

その他の詳細については、このリファレンスを参照してください: Umbraco 7: 現在のページに基づいて同じプロパティからフィールドを取得する

Q:プロパティをコンテンツ ページにマップし、現在のページに関連付けられているかどうかを確認し、現在のページがマップされているフィールドのみを表示するにはどうすればよいですか? を追加することでこれを行うことができますcontent pickerか?もしそうなら、それが現在のページに関連付けられているかどうかを確認するにはどうすればよいですか?

4

1 に答える 1

0

まず、ID でコード内のコンテンツを参照することはお勧めできません。むしろ、ユーザーによって削除されないことが保証されているドキュメント タイプ エイリアスを使用してください。

現在のページにプロパティが存在するかどうかを確認するには、次のことを行う必要があります。

@if (CurrentPage.HasValue("subCatItem"))
{
   string propertyStoredValue = CurrentPage.subCatItem.ToString();
}

「subCatItem」は、チェックしているプロパティのエイリアスです。この場合、プロパティのタイプは関係ありません。プロパティが必須ではなく、値が指定されていない場合、プロパティがドキュメント タイプに存在する場合でも、上記のステートメントは false と評価されます (意味がありますか?)。

于 2016-03-21T15:12:25.367 に答える