2

カスタム テーマのオーチャード サイトを持っています。オーチャードは初めてです。

すべてのページには、主要なナビゲーションとフッターを備えた同じヘッダーがあります。ヘッダーとフッターをゾーンとして設定しました。

4 つのメイン セクションがあり、2 つには左側に 2 つ目のナビゲーションが必要です。情報とよくある質問。

CMS でこれらのセクションのページを動的に作成し、そのページを適切な 2 番目のナビゲーション メニューに追加し、クリックするとそのページに移動します (左側に正しいナビゲーション メニューが表示され、残りは適切なスタイルで表示されます)。ページの)。

簡単な手順で、これを行うための最良の方法は何ですか - Visual Studio でレイアウトやその他のファイルを編集する必要がありますか (必要に応じて編集できます)。

このオンラインでいくつかの記事を見つけましたが、それらはすべて完成したテーマに適用され、最初から作成されたものではありません.

(また、ウィジェット ページにこのサイトの「マップ」がありません。どのように作成すればよいですか?): ウィジェットページのサイトマップ

ありがとう。

4

1 に答える 1

3

私が理解しているように、あなたが求めているのはWidget. 基本的に、ページにコンテンツを表示するには、適切ContentTypeなパーツを作成してそれに添付する必要があります。表示するにurlは、ブラウザのアドレス バーにそのコンテンツを入力するか、そのコンテンツのリンクをクリックする必要があります。どちらの場合も、新しいページで、 内にコンテンツが表示されます[Content] ZoneZoneしかし、特別なページや特別なページにコンテンツを表示したい場合は、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 は移行ファイルを選択して自動的に実行します。移行ファイルには最初にCreate1 を返すメソッドがあり、さらに更新するたびに、モジュールの現在のバージョンで呼び出されるメソッドを定義する必要がありますUpdateFromN。これは 2 、 3 、N...を返しますorchard に同梱されているので、それらをチェックしてアイデアを得てください。ContentTypesContentPartsContentFields

于 2013-07-25T17:29:08.360 に答える