0

私はオーチャードを学んでいて、いくつかの Pluralsight コースを受講しました。パーツ テンプレートについて説明しましたが、今この記事を読んでいます:テーマの解剖学と呼ばれるセクションがあります:アイテム テンプレート. そして、私は混乱しています。私はこれまでこの概念に出くわしたことがないと思います。違いはなんですか?コンテンツ パーツMovieを持つコンテンツ タイプMovieがあるサンプルを見てみましょう。Part Templateを使用してレンダリング方法をオーバーライドできます。この場合、どこでItem Templateを使用するのでしょうか?

4

1 に答える 1

2

この質問に関して、もう少し詳しくブログ記事を書きました。恥知らずなプラグイン: http://arkleseizure.net/what-the-hell-is-an-item-template

言葉遣いは特に明確ではありませんが、私は同意します。それでは、これを少しクリアできるかどうか見てみましょう...

コンテンツ タイプ: 映画

  • タイトルパート
  • DirectorPart
  • StudioPart

(したがって、3 つのパーツが関連付けられた movie というコンテンツ タイプがあります)。

すべてのパーツを詳細ビューに表示し、TitlePart のみを概要表示に表示したいと考えています。そこで、placement.info を使用します。

<Match ContentType="Movie">
  <Match DisplayType="Summary">
    <Place Parts_TitlePart="Summary:1" />
    <Place Parts_DirectorPart="-" />
    <Place Parts_StudioPart="-" />
  </Match>

  <Match DisplayType="Detail">
    <Place Parts_TitlePart="Content:1" />
    <Place Parts_DirectorPart="Movie:1" />
    <Place Parts_StudioPart="Movie:2" />
  </Match>
</Match>

(わかりやすくするために明示的な表記法を使用)

配置は基本的に、コンテンツ タイプのコンテンツ パーツが配置される場所を定義します。概要、コンテンツ、およびムービーは、表示できるようにパーツを割り当てるコンテンツ アイテム内の「ゾーン」です。それでは、Content-Movie.Detail.cshtml という名前のファイルで Content ゾーンと Movie ゾーンを定義しましょう (これは "Item Template" になります)。

@using Orchard.Utility.Extensions;

<article class="content-item">
  <div class="content">
    @Display(Model.Content)
  </div>
  <div class="content">
    @Display(Model.Movie)
  </div>
</article>

要約用の Content-Movie.Summary.cshtml

@using Orchard.Utility.Extensions;

<article class="content-item">
   <div class="content">
      @Display(Model.Summary)
   </div>
</article>

(シェイプ トレース ツール ( http://docs.orchardproject.net/Documentation/Customizing-Orchard-using-Designer-Helper-Tools ) を使用してこれらを生成すると、デフォルトのゾーン (ヘッダー、メタ、コンテンツ) が作成されます)。とフッター、私は信じています) および関連する html.)

パーツが適切な場所に表示されるようになったので、タイトルの表示方法を変更する必要があるかもしれません。「パーツ テンプレート」、Parts.Title.cshtml を作成できます。

<h1>Movie: @Model.Title </h1>

要約すると。コンテンツ タイプは、多数のコンテンツ パーツで構成されています。パーツ テンプレートはコンテンツ パーツをオーバーライドし、アイテム テンプレートはゾーンが定義されているコンテンツ タイプのレイアウトをオーバーライドします。Placement.infoは、コンテンツ パーツを表示するゾーンに誘導します。

それが役立つことを願っています!

于 2013-10-15T18:14:12.370 に答える