public override void Render(Context context, TextWriter result) { var zoneName = (string)context[_zoneName] ?? _zoneName; if (zoneName.IsEmpty()) { return; } var model = context.Environments.First(); var evt = new ZoneRenderingEvent(zoneName, model); evt.LiquidContext = context; EventPublisher.Publish(evt); if (evt.Snippets != null && evt.Snippets.Count > 0) { foreach (var snippet in evt.Snippets) { if (snippet.Parse) { Template.Parse(snippet.Content) .Render(result, new RenderParameters(context.FormatProvider) { LocalVariables = model }); } else { result.Write(snippet.Content); } } } }
public void HandleEvent(ZoneRenderingEvent message) { if (!message.ZoneName.IsCaseInsensitiveEqual("order_summary_after")) { return; } try { var ppInstalments = message.Evaluate("PayPalInstalments"); if (ppInstalments != null) { var liquidPath = CommonHelper.MapPath("~/Plugins/SmartStore.PayPal/Views/PayPalInstalments/OrderDetails.liquid"); var content = File.ReadAllText(liquidPath); message.InjectContent(content.EmptyNull().Trim()); } } catch (Exception ex) { Logger.Error(ex); } }