/// <summary> /// Base Twig rendering function /// </summary> public static string RenderTwig(string path, string name, PhpArray data) { using (var ctx = Context.CreateEmpty()) { ctx.RootPath = System.IO.Path.GetFullPath("twig-razor-page"); var loader = new Twig.Loader.FilesystemLoader(ctx, path); var twig = new Twig.Environment(ctx, loader); return(twig.render(name, data).ToString()); } }
public void WriteTo(TextWriter writer, HtmlEncoder encoder) { // Pchp.Library.Spl.Autoload.spl_autoload_register(_ctx, ... ) // TODO: autoload, needed when PHP scripts are included var loader = new Twig.Loader.FilesystemLoader(_ctx, Path); var twig = new Twig.Environment(_ctx, loader, PhpValue.Null); var template = twig.load(Template); var output = BlockName == null ? template.render(Data) : template.renderBlock(BlockName, Data); // writer.Write(output); }