Umbraco 4.7 を使用して Web サイトを開発しています。「連絡先の詳細」、「最新ニュース」、「最新の製品」など、一部のページには共通の要素があります。たとえば、あるページには連絡先の詳細があり、別のページにはニュースがある場合があります。ある種のマクロ (HTML または Razor) を作成し、これらを必要なページに追加したいと考えています。しかし、このコンテンツをコンテンツ エディターで編集できるようにしたいのです。このような編集可能なマクロを作成するにはどうすればよいですか?
1 に答える
Razorとマクロの作成に精通していることを前提としています。そうでない場合は、ここに合理的な記事があります。
これを行うにはいくつかの方法がありますが、それぞれが表示するコンテンツのタイプによって異なります。たとえば、「最新ニュース」マクロは、日付の降順で上位3つのニュース記事を選択するようにかみそりで指定するだけで、コードのみで作成できます。同様に、連絡先の詳細データが別のページにすでに存在する場合(たとえば、AboutusまたはContactus)、Razorを使用してページを検索し、マクロに表示するフィールド値を取得できます。
ただし、マクロに表示される項目をある程度制御したい場合は、これを制御するための追加の手段を作成する必要があります。製品の場合、マクロに表示されるもの、つまりサイト全体に表示されるものを選択することをお勧めします。したがって、次のことができます。
- 各製品にyes/noフィールドを追加し(たとえば、「サイドバーに表示」と呼ばれます)、これをマクロで使用して製品の表示をフィルタリングできます。また
- 製品を選択できるuComponentsマルチノードピッカーを含む「サイドバー製品」と呼ばれる新しいドキュメントタイプを作成します。次に、このドキュメントタイプからノードを作成し、マクロでRazorを使用してこのノードの製品をクエリします。(明らかに、このノードがサイトのナビゲーションに表示されないようにする必要があります!)
この2番目のオプションは、保守が容易で、スケーラビリティが少しあり、複数の「サイドバー製品」ノードを使用できる可能性があるため、サイトのさまざまなセクションにさまざまな製品セットを配置できるため、はるかに優れたオプションです。最初のオプションは確かに実装が簡単ですが、どの製品がチェックされているかを覚えておく必要があるため、保守が難しくなる可能性があります。