/// <summary> /// Obtain left right placeholder. /// </summary> /// <param name="placeholder">Placeholders<see cref="T:SageFrame.Templating.Placeholders"/></param> /// <param name="middleblock">Object of XmlTag class.</param> /// <param name="lstWrapper">List of CustomWrapper class.</param> /// <param name="_Mode">Mode</param> /// <param name="Width">Width</param> /// <returns>String format of placeholder</returns> public static string ProcessLeftRightPlaceholders(Placeholders placeholder, XmlTag middleblock, List <CustomWrapper> lstWrapper, int _Mode, string Width) { Mode = _Mode; StringBuilder sb = new StringBuilder(); bool isAvailable = false; foreach (XmlTag pch in middleblock.LSTChildNodes) { if (Utils.GetAttributeValueByName(pch, XmlAttributeTypes.NAME).ToLower() == placeholder.ToString().ToLower()) { foreach (CustomWrapper start in lstWrapper) { if (start.Type == "placeholder" && Utils.GetAttributeValueByName(pch, XmlAttributeTypes.NAME).ToLower().Equals(start.Start)) { string style = ""; for (int i = 1; i <= start.Depth; i++) { if (i == 1) { style = start.Depth > 1 ? string.Format("sfBlockwrap {0}", start.Class) : string.Format("sfBlockwrap {0} clearfix", start.Class); sb.Append("<div class='" + style + "'>"); } else { style = start.Depth == i?string.Format("sfBlockwrap {0} sf{1} clearfix", start.Class, i) : string.Format("sfBlockwrap {0} sf{1}", start.Class, i); sb.Append("<div class='" + style + "'>"); } } } } string[] positions = pch.InnerHtml.Split(','); int mode = Utils.GetAttributeValueByName(pch, XmlAttributeTypes.MODE) == "" ? 0 : 1; string wrapperclass = string.Format("sf{0} clearfix", Utils.UppercaseFirst(Utils.GetAttributeValueByName(pch, XmlAttributeTypes.NAME))); wrapperclass = string.Format("{0} {1}", wrapperclass, Utils.GetAttributeValueByName(pch, XmlAttributeTypes.CLASS)); //string colwidth = string.Format("class='{0}' style='width:{1}'", wrapperclass, Width); string colwidth = string.Format("class='{0} {1}'", wrapperclass, sfCol + Width); sb.Append("<div " + colwidth + ">"); switch (mode) { case 0: sb.Append(ParseNormalLeftRightBlocks(pch, lstWrapper)); break; case 1: sb.Append(ParseFixedBlocks(pch, lstWrapper)); break; } sb.Append("</div>"); foreach (CustomWrapper start in lstWrapper) { string pchName = Utils.GetAttributeValueByName(pch, XmlAttributeTypes.NAME).ToLower(); if (start.Type == "placeholder" && pchName.Equals(start.End)) { for (int i = 1; i <= start.Depth; i++) { sb.Append("</div>"); } } } isAvailable = true; } } if (!isAvailable) { sb.Append(Mode == 2 ? "<div class='" + placeholder.ToString().ToLower() + "'><div class='sfWrapper'>" : "<div class='" + placeholder.ToString().ToLower() + "'><div class='sfWrapper sfCurve'>"); sb.Append(HtmlBuilder.AddPlaceholder(placeholder.ToString().ToLower(), Mode)); sb.Append("</div></div>"); } return(sb.ToString()); }
public static string ProcessLeftRightPlaceholders(Placeholders placeholder, XmlTag middleblock, List<CustomWrapper> lstWrapper, int _Mode,string Width) { Mode = _Mode; StringBuilder sb = new StringBuilder(); bool isAvailable = false; foreach (XmlTag pch in middleblock.LSTChildNodes) { if (Utils.GetAttributeValueByName(pch, XmlAttributeTypes.NAME).ToLower() == placeholder.ToString().ToLower()) { foreach (CustomWrapper start in lstWrapper) { if (start.Type == "placeholder" && Utils.GetAttributeValueByName(pch, XmlAttributeTypes.NAME).ToLower().Equals(start.Start)) { string style = ""; for (int i = 1; i <= start.Depth; i++) { if (i == 1) { style = start.Depth > 1 ? string.Format("sfBlockwrap {0}", start.Class) : string.Format("sfBlockwrap {0} clearfix", start.Class); sb.Append("<div class='" + style + "'>"); } else { style = start.Depth == i ? string.Format("sfBlockwrap {0} sf{1} clearfix", start.Class, i) : string.Format("sfBlockwrap {0} sf{1}", start.Class, i); sb.Append("<div class='" + style + "'>"); } } } } string[] positions = pch.InnerHtml.Split(','); int mode = Utils.GetAttributeValueByName(pch, XmlAttributeTypes.MODE) == "" ? 0 : 1; string wrapperclass = string.Format("sf{0} clearfix", Utils.UppercaseFirst(Utils.GetAttributeValueByName(pch, XmlAttributeTypes.NAME))); wrapperclass = string.Format("{0} {1}", wrapperclass, Utils.GetAttributeValueByName(pch, XmlAttributeTypes.CLASS)); string colwidth = string.Format("class='{0}' style='width:{1}'",wrapperclass,Width); sb.Append("<div "+colwidth+">"); switch (mode) { case 0: sb.Append(ParseNormalLeftRightBlocks(pch, lstWrapper)); break; case 1: sb.Append(ParseFixedBlocks(pch, lstWrapper)); break; } sb.Append("</div>"); foreach (CustomWrapper start in lstWrapper) { string pchName = Utils.GetAttributeValueByName(pch, XmlAttributeTypes.NAME).ToLower(); if (start.Type == "placeholder" && pchName.Equals(start.End)) { for (int i = 1; i <= start.Depth; i++) { sb.Append("</div>"); } } } isAvailable = true; } } if (!isAvailable) { sb.Append(Mode == 2 ? "<div class='" + placeholder.ToString().ToLower() + "'><div class='sfWrapper'>" : "<div class='" + placeholder.ToString().ToLower() + "'><div class='sfWrapper sfCurve'>"); sb.Append(HtmlBuilder.AddPlaceholder(placeholder.ToString().ToLower(), Mode)); sb.Append("</div></div>"); } return sb.ToString(); }