Long story short Client provides us with Smarty Templates on Front end. The .Net port of Smarty (Sharpy) is capable of converting all of those templates and use just like we use RAZOR templates. I am unable to figure out how to switch the templating engine to render the Sharpy files instead of RAZOR files so that the Views need not be converted to RAZOR and avoid a lot of code-rewrite that is happening right now.
What I've tried:
Error:
There is no Build Provider registered for the Extension '.sharpy'. You can register one in the section in machine.config or web.config. Make sure is has a BuildProviderAppliesToAttribute attribute which includes the value 'Web' or 'All'.
I am unable to find the exact cause. Googling did not help much as almost all of the users prefer RAZOR to be used. Also need to know what build provider will be applicable here.
UPDATE: Can I find a post/blog on exactly how it is done. Its okay even if it is some other templating engine! I may be able to get around even if that is available.
P.S.: I am new to both .Net/Visual Studio and Sitecore, so any help appreciated
Create new Sitecore initialization Pipeline in Project -> Pipeline -> Initialize -> Sharpy.cs, in the Process function add your code to add view engine ViewEngines.Engines.Add(new SharpyViewEngine())
Add/Modify your project config to add new pipeline code using processor tag
<pipeline><initialize><processor patch:after="processor[@type='Sitecore.Pipeline.Loader.EnsureAnonymousUsers, Sitecore.Kernal']" type="Project.Pienter code herepelines.Initialize.Sharpy, Project.Domain /></initialize></pipeline>
Add build providers tag into the Project's Web config file.
<compilation><buildProviders><add extension=".sharpy" type='System.Web.Compilation.PageBuildProvider"/></buildProviders></compilation>
Add Shapry dll files to your project as reference.
Add sharpy as valid extension in your Sitecore.MVC.Config
<sitecore><settings><setting name="MVC.ViewExtensions" value="|cshtml|sharpy|"/></settings></sitecore>
Rebuild entire project, publish and then check.
Now your system start executing Sharpy view engine, and Sharpy will start executing .Sharpy files.