protected override void BuildPageTemplateRecursive(IPageTemplate pageTemplate, string theme, RequestContext context, StringBuilder output, CursorCollection placeHolders, DirectiveCollection directives, List<IControlsContainer> controlConatiners) { controlConatiners.Add(pageTemplate); if (!String.IsNullOrEmpty(pageTemplate.MasterPage)) { this.BuildWithMasterPage(pageTemplate.MasterPage, context, output, placeHolders, directives); return; } if (!String.IsNullOrEmpty(pageTemplate.ExternalPage)) { this.BuildWithExternalPage(pageTemplate.ExternalPage, context, output, placeHolders, directives); return; } if (this.BuildTemplateFromPresentationData(pageTemplate.Presentation, theme, output, placeHolders, directives, context)) return; if (pageTemplate.ParentTemplate != null) { BuildPageTemplateRecursive(pageTemplate.ParentTemplate, theme, context, output, placeHolders, directives, controlConatiners); return; } var defaultRootTemplate = new RootTemplate(); defaultRootTemplate.FromString(ControlUtilities.GetSitefinityTextResource(Constants.DefaultFrontendPageTemplate)); RootTemplate result = this.GetRootTemplate(defaultRootTemplate, context, theme); this.ProcessStringTemplate(result.Template, output, placeHolders, directives); }
protected bool BuildTemplateFromPresentationData(IEnumerable<PresentationData> presentation, string theme, StringBuilder output, CursorCollection placeHolders, DirectiveCollection directives, RequestContext context) { RootTemplate result = new RootTemplate(); foreach (PresentationData item in presentation) { if (item.DataType == Presentation.HtmlDocument) { var key = item.Theme ?? "Default"; if (key.Equals(theme, StringComparison.OrdinalIgnoreCase)) { result = result.FromString(item.Data); break; } if (string.IsNullOrEmpty(result.Template)) result = result.FromString(item.Data); } } result = this.GetRootTemplate(result, context, theme); if (!String.IsNullOrEmpty(result.Template)) { this.ProcessStringTemplate(result.Template, output, placeHolders, directives); return true; } return false; }
public void SetTemplate_WhenFromStringMethodIsCalled() { var rootTemplate = new RootTemplate(); rootTemplate.FromString("abc"); Assert.AreEqual("abc", rootTemplate.Template); }
public RootTemplate ResolveTemplate(RootTemplate rootTemplate, RequestContext requestContext, string theme) { rootTemplate.FromString("This is test root template"); return rootTemplate; }
public void ThrowAnException_WhenFromStringMethodIsCalledAnNullIsPassed() { var rootTemplate = new RootTemplate(); try { rootTemplate.FromString(null); Assert.Fail("ArgumentNullException should be thrown."); } catch (ArgumentNullException ex) { Assert.AreEqual("template", ex.ParamName); } }