2016-08-27 1 views
1

異なるページで異なるテーマをどのようにアクティブにできるのだろうかと思っていました。 たとえば、テーマ1を持つページはほとんどなく、サイトの残りの部分にテーマ2があります。ユーザーはテーマを選択しません。バックエンドから動的に設定する必要があります。nopCommerce - 異なるページのダイナミックなテーマのアクティブ化 - マルチストアではない

1つの方法は、別々のマスターページを作成することです。

しかし、2つのnopCommerceテーマがあり、同じ店舗の異なるページでいずれかのテーマを動的にアクティブにすることは可能でしょうか?マルチストアではありません。

+0

nopCommerceの異なるページにさまざまなテーマの設定が似ているものはありません –

+0

他の設定は探していません。私はカスタマイズをする予定です。しかし、どのようにそれをどこに適用しますか? – Rahatur

+0

ええ、nopCommunityの誰かが答えを知っている場合は入れてください。私は複数のフォーラムに投稿するのは間違いではないと思います。 – Rahatur

答えて

3

これは、以下の手順に従って可能でなければなりません:

  1. は、新しいプラグインを作成します。
  2. プラグインにIThemeContextを実装して、現在のクラスThemeContextをコピーします。間違いを避けるために別の名前を使用してください(see)。
  3. 新しいクラスをAutofacに登録します。新しいクラスが古いThemeContextを確実に置き換えるように、より高い優先度を設定します。プラグインを有効にし、そこにブレークポイントを設定してプラグインが機能することを確認します。
  4. 新しいクラスのWorkingThemeNameプロパティのgetの部分を変更し、必要なビジネスルールを実装し、必要に応じて代替のテーマ名を返します。各http要求の現在のルートコントローラまたはパラメータを取得するには、現在のRouteDataにアクセスする必要があります。

それだけです。見た目よりも簡単です。

+0

これは良いですね。試してみましょう。 nopCommerceの何も変更せずにプラグインから完全に仕事をする方法があるかどうか疑問に思うだけです。 – Rahatur

+0

@Rahat。はい、表示されているように、プラグインから動作します。 –

関連する問題