/// <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());
            }
        }
Exemple #2
0
            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);
            }