/ / Jak zmienić silnik szablonowy Sitecore na Sharpy z urządzenia Razor - .net, sitecore, sitecore-mvc, szablonowy silnik

Jak zmienić Sitecore's Templating Engine na Sharpy z Razor - .net, sitecore, sitecore-mvc, templating-engine

Krótko mówiąc Klient dostarcza nam szablony Smarty na interfejsie użytkownika. Port .Net w Smarty (Sharpy) jest w stanie dokonać konwersji wszystkich tych szablonówi używaj tak, jak używamy szablonów RAZOR. Nie jestem w stanie dowiedzieć się, jak zmienić silnik szablonów, aby renderować pliki Sharpy zamiast plików RAZOR, aby widoki nie musiały być konwertowane na RAZOR i uniknąć wielu przepisywania kodu, które dzieje się właśnie teraz.

Co wypróbowałem:

  1. Dodałem "sharpy" jako poprawne rozszerzenie w konfiguracji Sitecore MVC.
  2. Dodałem Sharpy.dll i System.ComponentModel.Composition.dll jako odniesienie w projekcie - wymagane zgodnie z dokumentacją Sharpy.
  3. Dodałem mechanizm wyświetlania w funkcji_std_start pliku global.asax ( ViewEngines.Engines.Add (new SharpyViewEngine ()));
  4. Dodałem mechanizm wyświetlania w potoku inicjalizacji - aby upewnić się, że jest dostępny

Błąd:

Nie ma zarejestrowanego dostawcy kompilacji dlaRozszerzenie ".sharpy". Możesz zarejestrować go w sekcji w pliku machine.config lub web.config. Upewnij się, że ma atrybut BuildProviderAppliesToAttribute, który zawiera wartość "Web" lub "Wszystkie".

Nie mogę znaleźć dokładnej przyczyny. Googling nie pomógł, ponieważ prawie wszyscy użytkownicy wolą używać RAZOR. Również musisz wiedzieć, co będzie miało zastosowanie tutaj.

AKTUALIZACJA: Czy mogę znaleźć post / blog o tym, jak to się robi? Jest w porządku, nawet jeśli jest to inny silnik szablonowy! Może uda mi się ominąć, nawet jeśli jest to możliwe.

P.S .: Jestem nowy w obu .Net / Visual Studio i Sitecore, więc każda pomoc doceniona

Odpowiedzi:

1 dla odpowiedzi № 1
  1. Utwórz nową Sitetore Inicjalizacja Pipeline w Project -> Pipeline -> Initialize -> Sharpy.cs, w funkcji Process dodaj swój kod, aby dodać silnik widoku ViewEngines.Engines.Add (new SharpyViewEngine ())

  2. Dodaj / zmodyfikuj konfigurację projektu, aby dodać nowy kod potoku za pomocą znacznika procesora

    <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. Dodaj tag dostawców budowania do pliku konfiguracyjnego Web projektu.

    <compilation><buildProviders><add extension=".sharpy" type="System.Web.Compilation.PageBuildProvider"/></buildProviders></compilation>
    
  4. Dodaj pliki DLL Shapry do projektu jako odniesienie.

  5. Dodaj sharpy jako poprawne rozszerzenie w twoim Sitecore.MVC.Config

    <sitecore><settings><setting name="MVC.ViewExtensions" value="|cshtml|sharpy|"/></settings></sitecore>
    
  6. Przebuduj cały projekt, opublikuj, a następnie sprawdź.

  7. Teraz twój system rozpoczyna wykonywanie Sharpy view engine, a Sharpy rozpocznie wykonywanie .Sharpy.