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:
- I added “sharpy” as valid extension in Sitecore MVC configuration.
- I added Sharpy.dll and System.ComponentModel.Composition.dll as reference in the project – required as per the Sharpy documentation.
- I added view engine in application_start function of global.asax ( ViewEngines.Engines.Add(new SharpyViewEngine()) );
- I added view engine in initialization pipeline – to make sure it’s available
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