私が理解しているように、あなたが求めているのはWidget
. 基本的に、ページにコンテンツを表示するには、適切ContentType
なパーツを作成してそれに添付する必要があります。表示するにurl
は、ブラウザのアドレス バーにそのコンテンツを入力するか、そのコンテンツのリンクをクリックする必要があります。どちらの場合も、新しいページで、 内にコンテンツが表示されます[Content] Zone
。Zone
しかし、特別なページや特別なページにコンテンツを表示したい場合は、aを作成Widget
する方法があります。ウィジェットを作成するには、a を追加しWidgetPart
て「ウィジェット」のステレオタイプを与えるだけです。これを行うことができます。Migration
目的のファイルに次の変更を加えることによりContentType
:
ContentDefinitionManager.AlterTypeDefinition("MyType", cfg => cfg
.WithPart("WidgetPart")
.WithPart("CommonPart")
.WithSetting("Stereotype", "Widget"));
Content Type
これにより、必要なゾーンに配置できるウィジェットに変わります。
ウィジェットをゾーンに追加するには、ダッシュボードからウィジェットに移動します。
次に、ウィジェットを配置するゾーンを選択します。
次に、ウィジェットを選択します
最後に、ウィジェットが表示されるレイヤーを選択します。レイヤーとは、ウィジェットが表示されるページを決定するルールのセットです。たとえば、選択するhomepage
とウィジェットがホームページにのみ表示され、選択するdefault
とすべてのページにウィジェットが表示されます。独自のルールを定義するには、ここをチェックしてください。
編集 :
zone
テーマに新しいものを作成するには、ファイルにZone
名前を含めてtheme.txt
から開きLayout.cshtml
(カスタム テーマのビュー ディレクトリに 1 つ存在します)、次の操作を行います。
ゾーン名を指定してSecondaryNavigation
、テーマ内に次のコードを追加します
@if (Model.SecondaryNavigation != null)
{
<div id="secondary-navigation" class="group">
<div class="inner">
@Zone(Model.SecondaryNavigation)
</div>
</div>
}
これにより、追加Zone
がゾーンリストに表示され、ウィジェットを新しく作成した内部に配置できます.そして、あなたがzone
尋ねたその写真について.これは、テーマの作成者によって作成され、「Theme.png」という名前の画像ファイルであり、ウィジェットの管理画面にプレビューとして表示されます。独自のテーマ用に作成して、テーマ ビュー ディレクトリに配置できます。
編集2
移行ファイル自体は重要ではありません。重要なのは、 からドライブするクラスを定義することだけですDataMigrationImpl
。 orchar は移行ファイルを選択して自動的に実行します。移行ファイルには最初にCreate
1 を返すメソッドがあり、さらに更新するたびに、モジュールの現在のバージョンで呼び出されるメソッドを定義する必要がありますUpdateFromN
。これは 2 、 3 、N
...を返しますorchard に同梱されているので、それらをチェックしてアイデアを得てください。ContentTypes
ContentParts
ContentFields