/// <summary> /// Create a Sublayout that supports the Rendering for the specified item /// </summary> /// <param name="item"></param> /// <returns></returns> public static Sublayout GetSublayoutForItem(Sitecore.Data.Items.Item item) { RenderingReference rendering = item.Visualization.GetRenderings(Sitecore.Context.Device, false).FirstOrDefault(); if (null != rendering) { var sublayout = new Sublayout(); sublayout.DataSource = item.ID.ToString(); sublayout.Path = rendering.RenderingItem.InnerItem["Path"]; sublayout.Cacheable = rendering.RenderingItem.Caching.Cacheable; // Copy cache settings if (rendering.RenderingItem.Caching.Cacheable) { sublayout.VaryByData = rendering.RenderingItem.Caching.VaryByData; sublayout.VaryByDevice = rendering.RenderingItem.Caching.VaryByDevice; sublayout.VaryByLogin = rendering.RenderingItem.Caching.VaryByLogin; sublayout.VaryByParm = rendering.RenderingItem.Caching.VaryByParm; sublayout.VaryByQueryString = rendering.RenderingItem.Caching.VaryByQueryString; sublayout.VaryByUser = rendering.RenderingItem.Caching.VaryByUser; } return(sublayout); } return(null); }
public void GetRenderingParameters_UsingClassNoValue_ReturnsFieldWithValue() { //Arrange var templateId = ID.NewID; var targetId = ID.NewID; var fieldName = "StringField"; using (Db database = new Db { new DbTemplate(templateId) { { fieldName, "" } }, new Sitecore.FakeDb.DbItem("Target", targetId, templateId), }) { var resolver = Utilities.CreateStandardResolver(); var context = Context.Create(resolver); var db = database.Database; var control = new StubAbstractGlassUserControl(new WebFormsContext(new SitecoreService(db, context))); Sitecore.Context.Database = db; var sublayout = new Sublayout(); sublayout.Parameters = string.Empty; sublayout.Controls.Add(control); //Act var result = control.GetRenderingParameters <GlassTestRenderingParameters>(); //Act Assert.AreEqual(null, result); } }
public void GetRenderingParameters_UsingInterfaceWithValue_ReturnsFieldWithValue() { //Arrange var templateId = new ID("{6C815B38-4D88-4F01-916D-8D7C6548005E}"); var targetId = ID.NewID; var fieldName = "StringField"; using (Db database = new Db { new DbTemplate(templateId) { { fieldName, "" } }, new Sitecore.FakeDb.DbItem("Target", targetId, templateId), }) { var control = new StubAbstractGlassUserControl(); var resolver = Utilities.CreateStandardResolver(); var context = Context.Create(resolver); var db = database.Database; Sitecore.Context.Database = db; control.SitecoreContext = new SitecoreContext(context); var sublayout = new Sublayout(); sublayout.Parameters = "StringField=efefefef"; sublayout.Controls.Add(control); //Act var result = control.GetRenderingParameters <IGlassTestRenderingParameters>(); //Act Assert.AreEqual("efefefef", result.StringField); } }
private void BindSublayout(string path) { Sublayout sublayout = new Sublayout(); sublayout.Path = path; phWhatsHappening.Controls.Add(sublayout); }
/// <summary> /// This function is responsible for pulling the actual Rendering for current device that's loaded and /// essentially /// </summary> /// <param name="rootItem">The root item in which we need to get the child items to render.</param> /// <param name="placeholder">The place holder in which we want to place the child items into.</param> private void RenderChildItems(Item rootItem, PlaceHolder placeholder) { rootItem.GetChildren() .ToList() .ForEach(item => { // We need to get the path of the actual Sublayout's path // First we need to get the device's rendering for this child item (assume the first returned rendering) RenderingReference renderingReference = item .Visualization .GetRenderings(Sitecore.Context.Device, false) .First(); // Now, get the actual sublayout item itself Item sublayoutItem = Sitecore.Context.Database .GetItem(renderingReference.RenderingID); // Create a new sublayout with the sublayout's path and data item path. Sublayout sublayout = new Sublayout { Path = sublayoutItem["Path"], DataSource = item.Paths.Path }; // now place this sublayout on the grid. placeholder.Controls.Add(sublayout); }); }
/// <summary> /// Raises the <see cref="E:System.Web.UI.Page.PreInit"/> event at the beginning of page initialization. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs"/> that contains the event data.</param> protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); Item subLayuotItem; switch (this.Request.QueryString["mode"]) { case "forgot": subLayuotItem = Sitecore.Context.Database.GetItem(IDs.ForgotPasswordSublayout); break; case "change": subLayuotItem = Sitecore.Context.Database.GetItem(IDs.ChangePasswordSublayout); break; default: subLayuotItem = Sitecore.Context.Database.GetItem(IDs.LoginSublayout); break; } if (subLayuotItem != null) { var sublayout = new Sublayout { DataSource = subLayuotItem["Datasource Location"] }; sublayout.Controls.Add(this.Page.LoadControl(subLayuotItem["Path"])); this.MainPlaceholder.Controls.Add(sublayout); } }
protected void rptExpertChat_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.IsItem()) { BaseEventDetailPageItem item = e.Item.DataItem as BaseEventDetailPageItem; Sublayout slExpertChat = e.FindControlAs <Sublayout>("slExpertChat"); slExpertChat.DataSource = item.ID.ToString(); } }
void rptArticles_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.IsItem()) { DefaultArticlePageItem item = (DefaultArticlePageItem)e.Item.DataItem; Sublayout sbArticleEntry = e.FindControlAs <Sublayout>("sbArticleEntry"); sbArticleEntry.DataSource = item.ID.ToString(); } }
void rptEvents_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.IsItem()) { BaseEventDetailPageItem item = (BaseEventDetailPageItem)e.Item.DataItem; Sublayout slEventArchive = e.FindControlAs <Sublayout>("slEventArchive"); slEventArchive.DataSource = item.ID.ToString(); } }
/// <summary> /// Will return the Path to the datasource item of the sublayout. Can then use GetItemByPath to get the item to display the details of the source. /// </summary> /// <param name="thisSublayout">Sublayout</param> /// <returns>string</returns> //string dataSource = SitecoreHelper.GetSublayoutDataSource(Parent as Sublayout); //Item calloutItem = SitecoreHelper.GetItemByPath(dataSource); public static string GetSublayoutDataSource(Sublayout thisSublayout) { string ds = ""; if (thisSublayout != null) { ds = thisSublayout.DataSource; } return(ds); }
/// <summary> /// Using the sublayout, we can pull the actual data Item that we need to render. /// </summary> /// <param name="sublayout">The sublayout we want the data from</param> /// <returns>An Item, either the Page Meta-Data item or the actual data item for the template.</returns> private Item GetDataItemFromSublayout(Sublayout sublayout) { // if there's a Data Source, then that's the item we want, // otherwise it's most likely the Page Meta-Data folder we need to start rendering recursively return(!String.IsNullOrEmpty(sublayout.DataSource) ? Sitecore.Context.Database .GetItem(sublayout.DataSource) : Sitecore.Context.Item .Children .FirstOrDefault(item => item.Name == PAGE_META_DATA_FOLDER_NAME)); }
void rptWidgets_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.IsItem()) { Item item = (Item)e.Item.DataItem; Sublayout slWidget = e.FindControlAs <Sublayout>("slWidget"); slWidget.DataSource = item.ID.ToString(); slWidget.Path = ToolWidgetItem.GetWidgetSublayoutPath(item); } }
protected void rptPatternList_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Item node = (Item)e.Item.DataItem; Sublayout currentPattern = (Sublayout)e.Item.FindControl("currentPattern"); if (currentPattern != null) { currentPattern.DataSource = node.Paths.FullPath; } } }
/// <summary> /// Will return the value of a parameter set in a sublayout in the presentation of an item /// </summary> /// <param name="key">parameter key</param> /// <param name="thisSublayout">Sublayout</param> /// <returns>the parameter value set in the presentation</returns> public static string GetSublayoutParameter(string key, Sublayout thisSublayout) { string value = String.Empty; string rawParameters = thisSublayout.Parameters; // Attributes["sc_parameters"] var parameters = Sitecore.Web.WebUtil.ParseUrlParameters(rawParameters); if (parameters[key] != null) { value = parameters[key]; } return(value); }
/// <summary> /// Renders the configuration view. /// </summary> private void RenderConfigurationView() { if (this.myDataSourceItem == null) { this.myDataSourceItem = HealthIS.Apps.Util.createDatasourceItem("RSS Reader/RSS Feed", "SublayoutRSSFeedNewDataSource", "_RSS"); if (this.myDataSourceItem == null) { ; } } else if (this.FeedSetting == null) { this.lblError.Text = "//TODO: render view that allows selection of feed settings item (data source)"; } else { this.configItemName.Text = this.FeedSetting.FeedItemTitle; this.fldFeedUrl.Item = this.FeedSetting.InnerItem; this.fldFeedCSSClass.Item = this.FeedSetting.InnerItem; this.fldFeedItemCSSClass.Item = this.FeedSetting.InnerItem; this.fldItemDescriptionCharLimit.Item = this.FeedSetting.InnerItem; this.fldNumberOfItems.Item = this.FeedSetting.InnerItem; this.fldNumberOfImages.Item = this.FeedSetting.InnerItem; this.fldFeedTitle.Item = this.FeedSetting.InnerItem; this.cbShowFeedTitle.Checked = this.FeedSetting.DisplayFeedTitle; this.cbShowTitleFirst.Checked = this.FeedSetting.DisplayTitleFirst; this.cbShowFeedDesc.Checked = this.FeedSetting.DisplayFeedDesc; Sublayout sublayout = (Sublayout)this.Parent; string str1 = this.FeedSetting.InnerItem.ID.ToShortID().ToString(); string str2 = ""; string str3 = ""; string str4 = ""; try { str2 = this.FeedSetting.InnerItem.Fields["display feed title"].ID.ToShortID().ToString(); str3 = this.FeedSetting.InnerItem.Fields["display title first"].ID.ToShortID().ToString(); str4 = this.FeedSetting.InnerItem.Fields["display feed description"].ID.ToShortID().ToString(); } catch { } string str5 = this.FeedSetting.InnerItem.Language.ToString(); string str6 = this.FeedSetting.InnerItem.Version.ToString(); string str7 = this.FeedSetting.InnerItem[FieldIDs.Revision].Replace("-", string.Empty); this.cbShowFeedTitle.Attributes.Add("onclick", string.Format("var val = ''; if(this.checked) val='1'; var itemURI = new Sitecore.ItemUri('{0}','{1}','{2}','{3}');Sitecore.WebEdit.setFieldValue(itemURI,'{4}',val);", (object)str1, (object)str5, (object)str6, (object)str7, (object)str2, (object)sublayout.ClientID.ToString())); this.cbShowTitleFirst.Attributes.Add("onclick", string.Format("var val = ''; if(this.checked) val='1'; var itemURI = new Sitecore.ItemUri('{0}','{1}','{2}','{3}');Sitecore.WebEdit.setFieldValue(itemURI,'{4}',val);", (object)str1, (object)str5, (object)str6, (object)str7, (object)str3, (object)sublayout.ClientID.ToString())); this.cbShowFeedDesc.Attributes.Add("onclick", string.Format("var val = ''; if(this.checked) val='1'; var itemURI = new Sitecore.ItemUri('{0}','{1}','{2}','{3}');Sitecore.WebEdit.setFieldValue(itemURI,'{4}',val);", (object)str1, (object)str5, (object)str6, (object)str7, (object)str4, (object)sublayout.ClientID.ToString())); } }
public void GetRenderingParameters_SingleLevelSubLayout_ReturnsParameters() { //Arrange var parameters = "afeafaefaef"; var sublayout = new Sublayout(); sublayout.Parameters = parameters; var renderingContext = new RenderingContextUserControlWrapper(sublayout); //Act var result = renderingContext.GetRenderingParameters(); //Assert Assert.AreEqual(parameters, result); }
public static Control GetControl(Guid sublayoutId, Item currentItem) { Guard.AssertThat(sublayoutId != null && sublayoutId != Guid.Empty, "SublayoutId cannot be an empty Guid"); Guard.AssertThat(currentItem != null, "Cannot get sublayout for a null item"); var sublayoutItem = GetSublayoutItem(sublayoutId); if (sublayoutItem != null) { var sublayout = new Sublayout(); sublayout.Path = sublayoutItem.FilePath; sublayout.DataSource = currentItem.Paths.FullPath; return sublayout.GetUserControl(); } return null; }
public static Control GetControl(Guid sublayoutId, Item currentItem) { Guard.AssertThat(sublayoutId != null && sublayoutId != Guid.Empty, "SublayoutId cannot be an empty Guid"); Guard.AssertThat(currentItem != null, "Cannot get sublayout for a null item"); var sublayoutItem = GetSublayoutItem(sublayoutId); if (sublayoutItem != null) { var sublayout = new Sublayout(); sublayout.Path = sublayoutItem.FilePath; sublayout.DataSource = currentItem.Paths.FullPath; return(sublayout.GetUserControl()); } return(null); }
internal static Item GetDataSourceItem(this Sublayout sublayout) { String dataSource = sublayout.DataSource; if (String.IsNullOrEmpty(dataSource)) { return(null); } if (IsDataSourceQuery(dataSource)) { return(GetDataSourceItemByQuery(dataSource)); } return(Context.Database != null?Context.Database.GetItem(dataSource) : null); }
/// <summary> /// When we initialize the page, we essentially need to grab this item's presentation and model layers. /// </summary> /// <param name="e">Event Args</param> /// <exception cref="NullReferenceException">Error is thrown when the Page Meta-Data item couldn't be found.</exception> protected override void OnInit(EventArgs e) { // call our base first base.OnInit(e); // We need to get the sublayout, it's the Parent item of this UserControl instance Sublayout sublayout = Parent as Sublayout; // if this isn't a Sublayout, we don't do anything, something probably happened that shouldn't. if (sublayout == null) { throw new NullReferenceException(string.Format(SUBLAYOUT_IS_NULL_EXCEPTION_MESSAGE)); } // Get our data item from the sublayout DataItem = GetDataItemFromSublayout(sublayout); }
public void GetRenderingParameters_MultiLevelSubLayout_ReturnsParameters() { //Arrange var parameters = "afeafaefaef"; var sublayout = new Sublayout(); sublayout.Parameters = parameters; var control = new HtmlGenericControl(); sublayout.Controls.Add(control); var renderingContext = new RenderingContextUserControlWrapper(control); //Act var result = renderingContext.GetRenderingParameters(); //Assert Assert.AreEqual(parameters, result); }
public void GetRenderingParameters_UsingInterfaceWithValue_ReturnsFieldWithValue() { //Arrange var control = new StubAbstractGlassUserControl(); var resolver = Utilities.CreateStandardResolver(); var context = Context.Create(resolver); var db = Sitecore.Configuration.Factory.GetDatabase("master"); Sitecore.Context.Database = db; control.SitecoreContext = new SitecoreContext(context); var sublayout = new Sublayout(); sublayout.Parameters = "StringField=efefefef"; sublayout.Controls.Add(control); //Act var result = control.GetRenderingParameters<IGlassTestRenderingParameters>(); //Act Assert.AreEqual("efefefef", result.StringField); }
public void GetRenderingParameters_UsingInterfaceNoValue_ReturnsFieldWithValue() { //Arrange var control = new StubAbstractGlassUserControl(); var resolver = Utilities.CreateStandardResolver(); var context = Context.Create(resolver); var db = Sitecore.Configuration.Factory.GetDatabase("master"); Sitecore.Context.Database = db; control.SitecoreContext = new SitecoreContext(context); var sublayout = new Sublayout(); sublayout.Parameters = string.Empty; sublayout.Controls.Add(control); //Act var result = control.GetRenderingParameters <IGlassTestRenderingParameters>(); //Act Assert.AreEqual(null, result); }
void rptWidgets_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.IsItem()) { Item item = (Item)e.Item.DataItem; Sublayout slWidget = e.FindControlAs <Sublayout>("slWidget"); PlaceHolder phToolWrapperStart = e.FindControlAs <PlaceHolder>("phToolWrapperStart"); PlaceHolder phToolWrapperEnd = e.FindControlAs <PlaceHolder>("phToolWrapperEnd"); slWidget.DataSource = item.ID.ToString(); if (item.InheritsTemplate(ToolWidgetItem.TemplateId)) { phToolWrapperStart.Visible = phToolWrapperEnd.Visible = true; slWidget.Path = ToolWidgetItem.GetWidgetSublayoutPath(item); } else if (item.InheritsTemplate(UpcomingEventWidgetItem.TemplateId)) { slWidget.Path = String.Concat(baseWidgetPath, "UpcomingEvent.ascx"); } } }
public void GetRenderingParameters_UsingInterfaceWithValue_ReturnsFieldWithValue() { //Arrange var templateId = new ID("{6C815B38-4D88-4F01-916D-8D7C6548005E}"); var targetId = ID.NewID; var fieldName = "StringField"; using (Db database = new Db { new DbTemplate(templateId) { {fieldName, ""} }, new Sitecore.FakeDb.DbItem("Target", targetId, templateId), }) { var control = new StubAbstractGlassUserControl(); var resolver = Utilities.CreateStandardResolver(); var context = Context.Create(resolver); var db = database.Database; Sitecore.Context.Database = db; control.SitecoreContext = new SitecoreContext(context); var sublayout = new Sublayout(); sublayout.Parameters = "StringField=efefefef"; sublayout.Controls.Add(control); //Act var result = control.GetRenderingParameters<IGlassTestRenderingParameters>(); //Act Assert.AreEqual("efefefef", result.StringField); } }
internal static Item GetDataSourceItem(this UserControl control) { Sublayout sublayout = GetSublayout(control); return(sublayout != null?sublayout.GetDataSourceItem() : null); }
/// <summary> /// Using the sublayout, we can pull the actual data Item that we need to render. /// </summary> /// <param name="sublayout">The sublayout we want the data from</param> /// <returns>An Item, either the Page Meta-Data item or the actual data item for the template.</returns> private Item GetDataItemFromSublayout(Sublayout sublayout) { // if there's a Data Source, then that's the item we want, // otherwise it's most likely the Page Meta-Data folder we need to start rendering recursively return !String.IsNullOrEmpty(sublayout.DataSource) ? Sitecore.Context.Database .GetItem(sublayout.DataSource) : Sitecore.Context.Item .Children .FirstOrDefault(item => item.Name == PAGE_META_DATA_FOLDER_NAME); }
public static RenderingReference GetRenderingItem(Sublayout sublayout) { var renderings = Sitecore.Context.Item.Visualization.GetRenderings(Sitecore.Context.Device, true); return renderings.FirstOrDefault(r => r.RenderingItem.InnerItem["Path"] == sublayout.Path); }
public void GetRenderingParameters_UsingClassNoValue_ReturnsFieldWithValue() { //Arrange var templateId = ID.NewID; var targetId = ID.NewID; var fieldName = "StringField"; using (Db database = new Db { new DbTemplate(templateId) { {fieldName, ""} }, new Sitecore.FakeDb.DbItem("Target", targetId, templateId), }) { var control = new StubAbstractGlassUserControl(); var resolver = Utilities.CreateStandardResolver(); var context = Context.Create(resolver); var db = database.Database; Sitecore.Context.Database = db; control.SitecoreContext = new SitecoreContext(context); var sublayout = new Sublayout(); sublayout.Parameters = string.Empty; sublayout.Controls.Add(control); //Act var result = control.GetRenderingParameters<GlassTestRenderingParameters>(); //Act Assert.AreEqual(null, result); } }
/// <summary> /// Create a Sublayout that supports the Rendering for the specified item /// </summary> /// <param name="item"></param> /// <returns></returns> public static Sublayout GetSublayoutForItem(Sitecore.Data.Items.Item item) { RenderingReference rendering = item.Visualization.GetRenderings(Sitecore.Context.Device, false).FirstOrDefault(); if (null != rendering) { var sublayout = new Sublayout(); sublayout.DataSource = item.ID.ToString(); sublayout.Path = rendering.RenderingItem.InnerItem["Path"]; sublayout.Cacheable = rendering.RenderingItem.Caching.Cacheable; // Copy cache settings if (rendering.RenderingItem.Caching.Cacheable) { sublayout.VaryByData = rendering.RenderingItem.Caching.VaryByData; sublayout.VaryByDevice = rendering.RenderingItem.Caching.VaryByDevice; sublayout.VaryByLogin = rendering.RenderingItem.Caching.VaryByLogin; sublayout.VaryByParm = rendering.RenderingItem.Caching.VaryByParm; sublayout.VaryByQueryString = rendering.RenderingItem.Caching.VaryByQueryString; sublayout.VaryByUser = rendering.RenderingItem.Caching.VaryByUser; } return sublayout; } return null; }
protected void Page_Load(object sender, EventArgs e) { Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("web"); Sublayout sublayout = Parent as Sublayout; NameValueCollection sublayoutParameters = Sitecore.Web.WebUtil.ParseUrlParameters(sublayout.Parameters); StringBuilder html = new StringBuilder(); string path = sublayoutParameters["Start URL"]; string onlyOneDepth = sublayoutParameters["Only One Depth"]; //string path = "/sitecore/content/Home/medicine/animal_imaging_core"; int count = path.Split('/').Length - 1; Sitecore.Data.Items.Item item = master.Items[path]; if (item == null || String.IsNullOrEmpty(path) || count <= 4) { error.Text = "<div>\"" + path + "\" has not been found. " + count + " </div>"; error.Text += "<div>The path should start with /sitecore/content/Home/department/theItemYouWantToCall/</div>"; return; } if (item.HasChildren) { foreach (Sitecore.Data.Items.Item i in item.Children) { Sitecore.Data.Items.Item item2 = Sitecore.Context.Database.GetItem(Sitecore.Data.ID.Parse(i.ID)); if (item2 != null) { Sitecore.Data.Items.LayoutItem layoutItem = item2.Visualization.GetLayout(Sitecore.Context.Device); if (layoutItem != null) { string newPath = i.Paths.Path.Replace("/sitecore/content/Home/", "http://health.usf.edu/"); html.Append("<tr>" + "<td class=\"confluenceTd\">" + i.DisplayName + "</td>" + "<td class=\"confluenceTd\"><a href=\"" + newPath + "\" class=\"external-link\" rel=\"nofollow\" target=\"_blank\">" + newPath + "</a></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "</tr>"); } } if (!String.IsNullOrEmpty(onlyOneDepth)) { foreach (Sitecore.Data.Items.Item i2 in i.Children) { Sitecore.Data.Items.Item item3 = Sitecore.Context.Database.GetItem(Sitecore.Data.ID.Parse(i2.ID)); if (item3 != null) { Sitecore.Data.Items.LayoutItem layoutItem2 = item3.Visualization.GetLayout(Sitecore.Context.Device); if (layoutItem2 != null) { string newPath2 = i2.Paths.Path.Replace("/sitecore/content/Home/", "http://health.usf.edu/"); html.Append("<tr>" + "<td class=\"confluenceTd\">" + i2.DisplayName + "</td>" + "<td class=\"confluenceTd\"><a href=\"" + newPath2 + "\" class=\"external-link\" rel=\"nofollow\" target=\"_blank\">" + newPath2 + "</a></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "</tr>"); } foreach (Sitecore.Data.Items.Item i3 in i2.Children) { Sitecore.Data.Items.Item item4 = Sitecore.Context.Database.GetItem(Sitecore.Data.ID.Parse(i3.ID)); if (item4 != null) { Sitecore.Data.Items.LayoutItem layoutItem3 = item4.Visualization.GetLayout(Sitecore.Context.Device); if (layoutItem3 != null) { string newPath3 = i3.Paths.Path.Replace("/sitecore/content/Home/", "http://health.usf.edu/"); html.Append("<tr>" + "<td class=\"confluenceTd\">" + i3.DisplayName + "</td>" + "<td class=\"confluenceTd\"><a href=\"" + newPath3 + "\" class=\"external-link\" rel=\"nofollow\" target=\"_blank\">" + newPath3 + "</a></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "<td class=\"confluenceTd\"></td>" + "</tr>"); } } } } } } } } lists.Text = html.ToString(); }
/// <summary> /// Renders the sublayout. /// /// </summary> /// <param name="output">The output.</param><param name="rendering">The rendering.</param><param name="renderingDefinition">The rendering definition.</param><param name="index">The index.</param> private void RenderSublayout(HtmlTextWriter output, Item rendering, RenderingDefinition renderingDefinition, int index) { Assert.ArgumentNotNull((object)output, "output"); Assert.ArgumentNotNull((object)rendering, "rendering"); Assert.ArgumentNotNull((object)renderingDefinition, "renderingDefinition"); foreach (Control control in this.Controls) { Sublayout sublayout = control as Sublayout; if (sublayout != null && string.Compare(sublayout.Path, rendering["Path"], StringComparison.InvariantCulture) == 0) { output.Write("<table width=\"100%\" style=\"table-layout:fixed;background:#e2ebf8;border:1px solid #97b3e1;margin:3px 0px 0px 0px\" cellpadding=\"2\" cellspacing=\"0\" border=\"0\">"); output.Write("<tr><td>"); string str1 = rendering.DisplayName; if (rendering.ID == RenderingIDs.FieldRenderer) { string @string = StringUtil.GetString(new string[1] { WebUtil.ParseQueryString(renderingDefinition.Parameters)["FieldName"] }); if (!string.IsNullOrEmpty(@string)) { TemplateFieldItem templateFieldItem = (TemplateFieldItem)rendering.Database.GetItem(@string); if (templateFieldItem != null) { str1 = "\"" + StringUtil.GetString(new string[2] { templateFieldItem.Title, templateFieldItem.Name }) + "\" " + Translate.Text("Field"); } else { str1 = Translate.Text("[unknown field]"); } } else { str1 = Translate.Text("[unknown field]"); } } string str2 = string.Empty; string qualifiedKey = this.GetQualifiedKey(); Item placeholderItem = Sitecore.Context.Page.GetPlaceholderItem(this, Sitecore.Context.Database); if (placeholderItem != null) { str2 = placeholderItem["Allowed Controls"]; } string str3 = "javascript:return window.parent.scForm.postEvent(this,event,'pagedesigner:editplaceholder(placeholdername=" + (object)qualifiedKey + ",allowedrenderings=" + str2 + ",index=" + (string)(object)index + ")')"; output.Write("<a href=\"#\" style=\"display:block;color:black;font:8pt tahoma;padding:2px 2px 0px 2px;text-decoration:none\" onclick=\"" + str3 + "\" onmouseover=\"javascript:this.style.textDecoration='underline'\" onmouseout=\"javascript:this.style.textDecoration='none'\">"); output.Write(ItemTileService.RenderTile(rendering, TileView.IconOnly, ImageDimension.id16x16)); output.Write(' '); output.Write(str1); output.Write("</a>"); output.Write("</td></tr>"); output.Write("<tr><td>"); ((Control)sublayout).RenderControl(output); output.Write("</td></tr></table>"); break; } } }
public static NameValueCollection ParameterList(this Sublayout s) { return(Sitecore.Web.WebUtil.ParseUrlParameters(s.Parameters)); }