各ページが利用する「テンプレート」の上にいくつか変更する場合は、Master Templateを使用することをおすすめします。これにより、ベースファイルからプロパティを継承し、ベースを上書きする独自のプロパティを子テンプレートに追加することができます。 1つのサイトに複数のマスターテンプレートを作成できます。たとえば、バナーを表示したくないページがあるので、これらのページに2番目のマスターテンプレートを使用します。
ただし、マスターテンプレートを使用することの欠点は、管理者が変更するためにTemplates
(Settings
セクションの下)にアクセスする必要があることです。
管理者がページに含まれる「部分」を選択できるようにするには、Multinode Treepickerが必要です。これにより、ページに表示されるノードをContent
セクションから選択することができます(これは、管理者が変更する方がはるかに安全です)。それは廃止されたと言われていますが、Umbraco 7(そして私が個人的に使っているもの)でもまだ利用可能です。
マルチノードトレパッカーは、特定の状況で表示する個々のノードを選択するか、Content
セクションの管理者が選択したすべてのノードをループします。
これは、いずれかで行うことができますはを入力:
@{
var typedMultiNodeTreePicker = Model.Content.GetPropertyValue<IEnumerable<IPublishedContent>>("banner");
foreach (var item in typedMultiNodeTreePicker)
{
<p>@item.Name</p>
}
}
それとも動的:
@{
var bannerList = CurrentPage.banner.ToString().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var bannerCollection = Umbraco.Content(bannerList);
foreach (var item in bannerCollection)
{
<p>@item.Name</p>
}
}
・ホープ、このことができます! :)
私は達成する必要があったものに類似したアーキタイプを発見しました - しかし、これはアーキタイプが開発をやめたのでより理想的です。 – Sparkz