コンテンツ ブロックなどの他のコントロールと組み合わせて使用できるカスタム レイアウト コントロールを作成できます。
レイアウト コントロールを作成するには、Visual Studio でプロジェクトを開き、WebApp プロジェクトに新しいコントロール (.ascx) ファイルを作成します。私は通常、私が作成した ~/LayoutControls フォルダーに入れます。その制御ファイルに、次のように入力します。
<div runat="server" class="sf_cols">
<aside>
<div id="Div1" runat="server" class="sf_colsIn"></div>
</aside>
</div>
aside
必要なマークアップであるタグの他に、いくつかの詳細を持つ 2 つの div があることに気付くでしょう。これらは、Sitefinity がこれをコントロールとして扱い、コンテンツを動的に挿入できるようにするために必要です。
クラスを含む divsf_cols
はすべてのコントロールに共通であり、クラスsf_colsIn
(id="Div1") を含む div は、レイアウト コントロールにドロップするコントロールが移動する場所です。したがって、外側のラッパー div、マークアップ、および内側の div があります。これは、コンテンツが移動する内部 div です。
ファイルを保存し、プロジェクトをコンパイルしてから、コントロールを Sitefinity に登録します。
これを行うには、バックエンドにログインして、[管理] | [管理] に移動します。設定 | 詳細設定 | ツールボックス | ツールボックス | ページレイアウト | セクション。通常、これらのプロパティを持つ新しいセクションを追加します。
name=Custom,Title=Custom,Description=カスタム レイアウト,Global resourceClassId=PageResources
次に、新しいセクションを選択し、[ツール]、[新規作成] の順に選択します。名前、タイトル、説明は、あなたがコントロールできるものです。Control CLR Type は である必要がTelerik.Sitefinity.Web.UI.LayoutControl, Telerik.Sitefinity
あり、Layout Template は ascx ファイルへのパスである必要があります~/LayoutControls/AsideBlock.ascx
。他のプロパティにはデフォルト値を設定できます (ほとんどは空白です)。次に、保存します。
ページを編集しているときに、右側の列にある [レイアウト] ボタンをクリックすると、コントロールを含む [カスタム] セクションが表示されます。それをページにドラッグし、「コンテンツ」編集に戻ります (右側の列のボタンを使用)。レイアウト コントロールが表示され、その上にコンテンツ ブロックがドロップされます。
通常どおりコンテンツを追加します。ページがレンダリングされると、コンテンツは aside タグでラップされます。