2

同じコンテンツタイプ「ニュース」のアイテムが6つあり、各アイテムにフィールドnewsIntroがあります。別のページの特定のページにフィールドを配置したいので、特定のフィールドをターゲットにして、ノード1702のnewsIntroになるようにする必要があります。次のようないくつかのことを試しました。

@ 1720.newsIntro

特定のフィールドをターゲットにするにはどうすればよいですか

ありがとう

4

5 に答える 5

15

Razor を学習する際に参照すべき優れたリソースがいくつかあります。

  1. Umbraco Razor Feature Walkthrough - Umbraco 4.7 の多くの新しい Razor 機能の例を含む 8 部構成のブログ投稿シリーズ。

  2. Razor DynamicNode チート シート- Razor オブジェクトで使用できるすべてのプロパティとメソッドの PDF DynamicNode( を含む@Model)。

  3. Cultiv Razor Examples - ダウンロードして WebMatrix または IIS で開き、Razor でプロパティにアクセスするさまざまな方法を確認できる Umbraco Web サイト。

  4. Razor snippet - Our Umbraco からのさまざまなスニペット、例などの編集。

しかし、質問への回答として、特定のノードのプロパティを取得するには、DynamicNode最初に実際のオブジェクトを取得してから、プロパティ エイリアスを使用してプロパティ値にアクセスする必要があります。例:

@{
    //Get the node
    dynamic node = Library.NodeById(1720);

    // Display the property
    @node.newsIntro
}

現在のページからプロパティにアクセスするには、次を使用しますModel

@Model.newsIntro

また

@Model.bodyText

また

@Model.Name
于 2012-06-20T12:43:00.497 に答える
5

まず、TypedContent メソッドから IPublishedContent オブジェクトを取得し、次に GetPropertyValue を使用してフィールドの値を取得します。

@{
  int nodeId = 1720;
  IPublishedContent contentNode = Umbraco.TypedContent(nodeId);
  var newsIntro = contentNode.GetPropertyValue("newsIntro");
}

<p>@newsIntro</p>
于 2015-04-23T19:08:06.023 に答える
0

コンテンツからフィールドを取得するために、私はこれを使用しました:

@{
    var selection = Umbraco.TypedContent(contentId).Children()
                        .Where(x => x.IsVisible())
                        .OrderBy("CreateDate");
}
@foreach(var item in selection){
            @item.GetPropertyValue("fieldName1")
            @item.GetPropertyValue("fieldName2")
            @item.GetPropertyValue("fieldName_N")
}
于 2017-12-01T20:03:59.407 に答える