/ / Comment changer le moteur de templates de Sitecore en Sharpy de Razor - .net, sitecore, sitecore-mvc, templating-engine

Comment changer le moteur de templates de Sitecore en Sharpy de Razor - .net, sitecore, sitecore-mvc, templating-engine

Longue histoire courte Le client nous fournit des modèles Smarty en frontal. Le port .Net de Smarty (Sharpy) est capable de convertir tous ces modèleset utiliser comme nous utilisons les modèles RAZOR. Je ne parviens pas à comprendre comment basculer le moteur de création de modèles pour rendre les fichiers Sharpy au lieu des fichiers RAZOR, de sorte que les vues ne soient pas converties en RAZOR et évitent ainsi une réécriture de code importante.

Ce que j’ai essayé:

  1. J'ai ajouté «sharpy» comme extension valide dans la configuration Sitecore MVC.
  2. J'ai ajouté Sharpy.dll et System.ComponentModel.Composition.dll en tant que référence dans le projet - obligatoire selon la documentation Sharpy.
  3. J'ai ajouté le moteur de visualisation dans la fonction application_start de global.asax ( ViewEngines.Engines.Add (new SharpyViewEngine ()));
  4. J'ai ajouté le moteur de vue dans le pipeline d'initialisation - pour m'assurer qu'il est disponible

Erreur:

Il n'y a pas de fournisseur de build enregistré pour leExtension ".sharpy". Vous pouvez en enregistrer un dans la section machine.config ou web.config. Assurez-vous qu’il possède un attribut BuildProviderAppliesToAttribute qui inclut la valeur "Web" ou "Tout".

Je suis incapable de trouver la cause exacte. Googler n'a pas beaucoup aidé, car presque tous les utilisateurs préfèrent utiliser RAZOR. Aussi besoin de savoir quel fournisseur de build sera applicable ici.

METTRE À JOUR: Puis-je trouver un post / blog sur exactement comment cela se fait. Ce n'est pas grave, même s'il s'agit d'un autre moteur de gabarit! Je pourrai peut-être me déplacer même si cela est disponible.

P.S .: Je connais aussi bien Net / Visual Studio que Sitecore.

Réponses:

1 pour la réponse № 1
  1. Créer un nouveau pipeline d'initialisation Sitecore dans Projet -> Pipeline -> Initialiser -> Sharpy.cs, dans la fonction Processus, ajoutez votre code pour ajouter le moteur de vue ViewEngines.Engines.Add (new SharpyViewEngine ())

  2. Ajoutez / modifiez la configuration de votre projet pour ajouter un nouveau code de pipeline à l'aide d'une balise de processeur.

    <pipeline><initialize><processor patch:after="processor[@type="Sitecore.Pipeline.Loader.EnsureAnonymousUsers, Sitecore.Kernal"]" type="Project.Pienter code herepelines.Initialize.Sharpy, Project.Domain /></initialize></pipeline>
    
  3. Ajoutez la balise build providers dans le fichier de configuration Web du projet.

    <compilation><buildProviders><add extension=".sharpy" type="System.Web.Compilation.PageBuildProvider"/></buildProviders></compilation>
    
  4. Ajoutez des fichiers dll Shapry à votre projet comme référence.

  5. Ajouter pointu comme extension valide dans votre Sitecore.MVC.Config

    <sitecore><settings><setting name="MVC.ViewExtensions" value="|cshtml|sharpy|"/></settings></sitecore>
    
  6. Reconstruisez le projet entier, publiez-le et vérifiez.

  7. Votre système commence maintenant à exécuter le moteur de visualisation Sharpy et Sharpy commencera à exécuter les fichiers .Sharpy.