2016-08-27 1 views
1

Je me demandais comment nous pouvons activer dynamiquement différents thèmes sur différentes pages. Par exemple quelques pages auront le thème-1 et le reste du site aura le thème-2. Les utilisateurs ne sélectionneront pas les thèmes. Il devra être défini dynamiquement à partir de l'arrière.nopCommerce - Activation de thème dynamique pour différentes pages - Pas multi-magasin

Une façon consiste à avoir des pages maîtres séparées.

Mais est-il possible que nous ayons deux thèmes nopCommerce et que nous activions dynamiquement chacun sur des pages différentes du même magasin? Pas multi magasin.

+0

Il n'y a rien comme la configuration de différents thèmes sur des pages différentes dans nopCommerce –

+0

Eh bien, je ne cherche aucune configuration. Je prévois de faire avec la personnalisation. Mais comment appliquez-vous cela et où? – Rahatur

+0

Oui, si quelqu'un de nopCommunity connaît la réponse. Je suppose que ce n'est pas mal de poster sur plusieurs forums. – Rahatur

Répondre

3

Il devrait être possible, procédez comme suit:

  1. Créer un nouveau plug-in.
  2. Copiez la classe actuelle ThemeContext, en implémentant IThemeContext à votre extension. Utilisez un nom différent pour éviter les erreurs (see).
  3. Enregistrez la nouvelle classe avec Autofac. Définissez une priorité plus élevée pour vous assurer que la nouvelle classe remplace l'ancien ThemeContext. Activez le plugin et vérifiez qu'il fonctionne en y définissant un point d'arrêt.
  4. Modifiez la partie get de la propriété WorkingThemeName dans votre nouvelle classe et implémentez les règles métier dont vous avez besoin, en retournant le nom du thème alternatif, le cas échéant. Vous devrez peut-être accéder au RouteData actuel pour obtenir le contrôleur de route ou les paramètres actuels pour chaque requête http.

C'est tout. C'est plus facile que ça en a l'air.

+0

Cela semble bien. Je vais essayer. Je me demande simplement s'il y a un moyen de faire le travail complètement à partir du plugin sans rien changer sur le nopCommerce. – Rahatur

+0

@Rahat. Oui, cela fonctionne à partir d'un plugin, comme indiqué. –