public override string GetItemUrl(Sitecore.Data.Items.Item item, Sitecore.Links.UrlOptions options) { Assert.ArgumentNotNull(item, "item"); Assert.ArgumentNotNull(options, "options"); // Store real item for later use Item realItem = item; // Check if item is an wildcard item bool isWildcardItem = item.IsDatasourceItemForWildcard(); if (isWildcardItem) { item = Context.Database.GetItem(WildcardProvider.GetSetting(item.TemplateID).ItemID); } if (item == null) { item = realItem; } string text = base.GetItemUrl(item, options); if (isWildcardItem) { text = WildcardProvider.GetWildcardItemUrl(item, realItem, UseDisplayName); } return(text.ToLower()); }
public void DisplayChildren(Sitecore.Data.Items.Item parent) { //string iconName = parent.Appearance.Icon.ToLower(); Sitecore.Layouts.LayoutDefinition layout = Sitecore.Layouts.LayoutDefinition.Parse(parent[Sitecore.FieldIDs.LayoutField]); if (layout != null && parent[Sitecore.FieldIDs.LayoutField].Length > 0)//(iconName.Contains("document") || iconName.Contains("folder")) && !iconName.Contains("Resources")) { Sitecore.Links.UrlOptions options = new Sitecore.Links.UrlOptions(); options.AlwaysIncludeServerUrl = true; string href = Sitecore.Links.LinkManager.GetItemUrl(parent, options); litTree.Text += "<li><b><a href=" + href + " target='_blank'>" + parent.Name + "</a></b><br/>" + href + "<br/>Status code: " + GetHttpStatus(href); udpTree.Update(); if (parent.HasChildren) { bool closeIt = false; bool opened = false; foreach (Sitecore.Data.Items.Item child in parent.Children) { if (!child.Name.Contains("Resources")) { if (!opened) { litTree.Text += "<ul>"; opened = true; } DisplayChildren(child); closeIt = true; } } if (closeIt) { litTree.Text += "</ul>"; } } litTree.Text += "</li>"; } }
public string DisplayChildren(Sitecore.Data.Items.Item parent) { string content = ""; string iconName = parent.Appearance.Icon.ToLower(); Sitecore.Layouts.LayoutDefinition layout = Sitecore.Layouts.LayoutDefinition.Parse(parent[Sitecore.FieldIDs.LayoutField]); if (layout != null && parent[Sitecore.FieldIDs.LayoutField].Length > 0) { Sitecore.Links.UrlOptions options = new Sitecore.Links.UrlOptions(); options.AlwaysIncludeServerUrl = true; string loc = Sitecore.Links.LinkManager.GetItemUrl(parent, options); string lastMod = parent.Statistics.Updated.ToLongDateString(); content += "\n\t<url>\n\t\t<loc>" + loc + "</loc>\n\t\t<lastmod>" + lastMod + "</lastmod>\n\t</url>"; if (parent.HasChildren) { string childContent = ""; foreach (Sitecore.Data.Items.Item child in parent.Children) { if (!child.Name.Contains("Resources")) { childContent += DisplayChildren(child); } } if (!string.IsNullOrEmpty(childContent)) { content += childContent; } } } return(content); }
private string GetItemUrl() { var urlOptions = new Sitecore.Links.UrlOptions(); urlOptions.AlwaysIncludeServerUrl = true; return(Sitecore.Links.LinkManager.GetItemUrl(Sitecore.Context.Item, urlOptions)); }
private string GetItemUrl(Item item, Site site) { Sitecore.Links.UrlOptions options = Sitecore.Links.UrlOptions.DefaultOptions; options.SiteResolving = Sitecore.Configuration.Settings.Rendering.SiteResolving; options.Site = SiteContext.GetSite(site.Name); options.AlwaysIncludeServerUrl = false; string url = Sitecore.Links.LinkManager.GetItemUrl(item, options); string serverUrl = SitemapManagerConfiguration.GetServerUrlBySite(site.Name); if (serverUrl.Contains("http://")) { serverUrl = serverUrl.Substring("http://".Length); } StringBuilder sb = new StringBuilder(); if (!string.IsNullOrEmpty(serverUrl)) { if (url.Contains("://") && !url.Contains("http")) { sb.Append("http://"); sb.Append(serverUrl); if (url.IndexOf("/", 3) > 0) { sb.Append(url.Substring(url.IndexOf("/", 3))); } } else { sb.Append("http://"); sb.Append(serverUrl); sb.Append(url); } } else if (!string.IsNullOrEmpty(site.Properties["hostname"])) { sb.Append("http://"); sb.Append(site.Properties["hostname"]); sb.Append(url); } else { if (url.Contains("://") && !url.Contains("http")) { sb.Append("http://"); sb.Append(url); } else { sb.Append(Sitecore.Web.WebUtil.GetFullUrl(url)); } } return(sb.ToString()); }
public string GetItemUrl(Sitecore.Data.Items.Item item, Sitecore.Links.UrlOptions options, string goalId) { Assert.ArgumentNotNull(item, "item"); string baseUrl = base.GetItemUrl(item, options); Item goalItem = Sitecore.Context.Database.GetItem(goalId); if (goalItem != null) { // build the href string key = Settings.GetSetting("Analytics.EventQueryStringKey", "sc_trk"); return(string.Format("{0}{1}{2}={3}", baseUrl, baseUrl.IndexOf('?') > -1 ? '&' : '?', key, goalItem.Name)); } return(baseUrl); }
private void AddLink(Sitecore.Data.Items.Item item, SyndicationItem syndicationItem) { Sitecore.Diagnostics.Assert.ArgumentNotNull(item, "item"); if (item.TemplateID.ToString() == "{76036F5E-CBCE-46D1-AF0A-4143F9B557AA}") { item = item.Parent; } Sitecore.Links.UrlOptions defaultOptions = Sitecore.Links.UrlOptions.DefaultOptions; defaultOptions.AlwaysIncludeServerUrl = true; string itemUrl = Sitecore.Links.LinkManager.GetItemUrl(item, defaultOptions); syndicationItem.Links.Add(SyndicationLink.CreateAlternateLink(new Uri(itemUrl))); }
public override void Process( Sitecore.Publishing.Pipelines.PublishItem.PublishItemContext context) { string name = typeof( Sitecore.Sharedsource.Publishing.Pipelines.PublishItem.BeforePerformAction).ToString(); foreach (Sitecore.Pipelines.PipelineMessage message in context.GetMessages()) { if (message.Text.StartsWith(name)) { Sitecore.Diagnostics.Log.Info( this + " : " + message.Text, this); } } Sitecore.Diagnostics.Log.Info( this + " : Result after publishing : " + context.Result.Operation, this); Sitecore.Links.UrlOptions opt = context.CustomData["whatever"] as Sitecore.Links.UrlOptions; if (opt != null) { Sitecore.Diagnostics.Log.Info( this + " : " + opt + " came through the pipeline.", this); } if (context.VersionToPublish == null) { return; } Sitecore.Data.Fields.DateField lastPublished = context.VersionToPublish.Fields["LastPublished"]; if (lastPublished == null) { return; } using (new Sitecore.Data.Items.EditContext( context.VersionToPublish, false /*updateStatistics*/, false /*silent*/)) { lastPublished.Value = Sitecore.DateUtil.IsoNow; } }
public static string ItemUrl(Item item) { if (item == null) { return(string.Empty); } if (item.Visualization.Layout == null) { return(string.Empty); } var options = new Sitecore.Links.UrlOptions { LanguageEmbedding = Sitecore.Links.LanguageEmbedding.Never, AddAspxExtension = false, UseDisplayName = true, Language = Sitecore.Context.Language }; var url = Sitecore.Links.LinkManager.GetItemUrl(item, options); return(url ?? string.Empty); }
public static string GetItemUrl(Item item, SiteContext site) { Sitecore.Links.UrlOptions options = Sitecore.Links.UrlOptions.DefaultOptions; options.SiteResolving = Sitecore.Configuration.Settings.Rendering.SiteResolving; options.Site = SiteContext.GetSite(site.Name); options.AlwaysIncludeServerUrl = false; string url = Sitecore.Links.LinkManager.GetItemUrl(item, options); var serverUrl = (new SitemapManagerConfiguration(site.Name)).ServerUrl; StringBuilder sb = new StringBuilder(); if (!string.IsNullOrEmpty(serverUrl)) { if (!serverUrl.Contains("http://") && !serverUrl.Contains("https://")) { serverUrl = string.Format("https://{0}", serverUrl); } sb.Append(serverUrl); sb.Append(url); } else if (!string.IsNullOrEmpty(site.Properties["hostname"])) { sb.Append("https://"); sb.Append(site.Properties["hostname"]); sb.Append(url); } else { if (url.Contains("://") && !url.Contains("http")) { sb.Append("https://"); sb.Append(url); } else { sb.Append(Sitecore.Web.WebUtil.GetFullUrl(url)); } } return(sb.ToString()); }
private string GetMarkup(Sitecore.Data.Items.Item item, Sitecore.Globalization.Language lang) { if (lang != item.Language) { Sitecore.Links.UrlOptions opts = Sitecore.Links.LinkManager.GetDefaultUrlOptions(); opts.Language = lang; return(String.Format( @"<a href=""{0}""><img border=""0"" src=""{1}"" alt=""{2}"" /></a>", Sitecore.Links.LinkManager.GetItemUrl(item, opts), Sitecore.Resources.Images.GetThemedImageSource(lang.GetIcon(item.Database)), lang.GetDisplayName())); } else { return(String.Format( @"<img src=""{0}"" alt=""{1}"" />", Sitecore.Resources.Images.GetThemedImageSource(lang.GetIcon(item.Database)), lang.GetDisplayName())); } }
private string GetItemUrl(Item item, Site site) { Sitecore.Links.UrlOptions options = Sitecore.Links.UrlOptions.DefaultOptions; options.SiteResolving = Sitecore.Configuration.Settings.Rendering.SiteResolving; options.Site = SiteContext.GetSite(site.Name); options.AlwaysIncludeServerUrl = false; string serverUrl = SitemapManagerConfiguration.GetServerUrlBySite(site.Name); string itemUrl = Sitecore.Links.LinkManager.GetItemUrl(item, options); if (itemUrl.StartsWith("http")) { return(itemUrl); } else { return(string.Format("{0}{1}", serverUrl, itemUrl)); } }
public static string ItemUrl(Item item, string language) { if (item == null) { return(string.Empty); } if (item.Visualization.Layout == null) { return(string.Empty); } Language scLanguage = Language.Parse(language); var langItem = Sitecore.Context.Database.GetItem(item.ID, scLanguage); if (langItem == null) { return(string.Empty); } var options = new Sitecore.Links.UrlOptions { LanguageEmbedding = Sitecore.Links.LanguageEmbedding.Never, AddAspxExtension = false, UseDisplayName = true }; var url = Sitecore.Links.LinkManager.GetItemUrl(langItem, options); return(url ?? string.Empty); }
public override bool SaveItem(ItemDefinition itemDefinition, Sitecore.Data.Items.ItemChanges changes, CallContext context) { IDTableEntry[] idList = IDTable.GetKeys(ID_TABLE_PREFIX, itemDefinition.ID); if (idList.Length > 0 && changes.HasFieldsChanged) { IDTableEntry mappedID = idList[0]; context.Abort(); var values = new Dictionary <string, string>(); values.Add(BOTR_VIDEO_KEY, mappedID.Key); FieldChangeList fieldChanges = changes.FieldChanges; lock (fieldChanges.SyncRoot) { foreach (FieldChange change in fieldChanges) { if (change.FieldID == ID.Parse(DISPLAY_NAME_FIELD) || change.FieldID == ID.Parse(TITLE_FIELD) || change.FieldID == ID.Parse(ALT_FIELD)) { values[BOTR_TITLE] = change.Value; } else if (change.FieldID == ID.Parse(DESCRIPTION_FIELD)) { values[BOTR_DESCRIPTION] = change.Value; } else if (change.FieldID == ID.Parse(KEYWORDS_FIELD)) { values[BOTR_TAGS] = change.Value; } else if (change.FieldID == ID.Parse(VIDEO_CUSTOM_URL_FIELD)) { Sitecore.Links.UrlOptions options = Sitecore.Links.UrlOptions.DefaultOptions; options.Site = Sitecore.Sites.SiteContextFactory.GetSiteContext(_vodeoLinkSite); options.AlwaysIncludeServerUrl = false; values[BOTR_CUSTOM + "." + BOTR_CUSTOM_LINK] = change.Value; if (change.RemoveField || string.IsNullOrEmpty(change.Value)) { values[BOTR_LINK] = string.Empty; } else { values[BOTR_LINK] = "http://" + Sitecore.StringUtil.RemovePostfix('/', this._videoLinkHost) + Sitecore.Links.LinkManager.GetItemUrl(context.DataManager.Database.GetItem(ID.Parse(change.Value)), options); } } else if (change.FieldID == ID.Parse(CREATED_FIELD)) { values[BOTR_DATE] = Sitecore.DateUtil.IsoDateToDateTime(change.Value).ToUnixTimestamp().ToString(); } } XmlDocument response = CallApi("/videos/update", values); XmlNode status = response.SelectSingleNode("/response/status"); if (status != null && status.InnerText.ToLower() == "ok") { Cache.Clear(); return(true); } } return(false); } return(false); }
public static string GetItemUrl(Item item, SiteContext site) { Sitecore.Links.UrlOptions options = Sitecore.Links.UrlOptions.DefaultOptions; options.SiteResolving = Sitecore.Configuration.Settings.Rendering.SiteResolving; options.Site = SiteContext.GetSite(site.Name); options.AlwaysIncludeServerUrl = false; string url = Sitecore.Links.LinkManager.GetItemUrl(item, options); var serverUrl = (new SitemapManagerConfiguration(site.Name)).ServerUrl; if (serverUrl.Contains("http://")) { serverUrl = serverUrl.Substring("http://".Length); } else if (serverUrl.Contains("https://")) { serverUrl = serverUrl.Substring("https://".Length); } StringBuilder sb = new StringBuilder(); if (!string.IsNullOrEmpty(serverUrl)) { if (url.Contains("://") && !url.Contains("http")) { sb.Append("http://"); sb.Append(serverUrl); if (url.IndexOf("/", 3) > 0) { sb.Append(url.Substring(url.IndexOf("/", 3))); } } else { sb.Append("http://"); sb.Append(serverUrl); //to remove uri scheme & uri host coming from site defination web.config var uri = new Uri(url); var removeString = uri.Scheme + "://" + uri.Host; int index = url.IndexOf(removeString); string cleanPath = (index < 0) ? url : url.Remove(index, removeString.Length); sb.Append(cleanPath); } } else if (!string.IsNullOrEmpty(site.Properties["hostname"])) { sb.Append("http://"); sb.Append(site.Properties["hostname"]); sb.Append(url); } else { if (url.Contains("://") && !url.Contains("http")) { sb.Append("http://"); sb.Append(url); } else { sb.Append(Sitecore.Web.WebUtil.GetFullUrl(url)); } } return(sb.ToString()); }
private Boolean SendConfirmationEmail() { bool blnEmailSent = false; try { if (currentCampaign.CampaignBase.Emailtemplate.Item != null) { //Get Campaign Email object EmailBaseItem emailItem = currentCampaign.CampaignBase.Emailtemplate.Item; Sitecore.Links.UrlOptions urlOptions = new Sitecore.Links.UrlOptions(); urlOptions.AlwaysIncludeServerUrl = true; urlOptions.AddAspxExtension = true; //string strEmailSubject = campaign.CampaignBase.Emailsubject.Rendered; string strEmailSubject = emailItem.Subject.Raw; //string strEmailFromAddress = Settings.WebsiteMailFromText; string strEmailFromAddress = emailItem.Fromaddress.Raw; string strEmailToAddress = txtEmail.Value.Trim(); //Populate email text variables Hashtable objTemplateVariables = new Hashtable(); objTemplateVariables.Add("HomePageUrl", SitecoreHelper.GetQualifiedUrlFromItemPath(ItemPaths.HomePage)); objTemplateVariables.Add("FacilitiesAndClassesLinkUrl", SitecoreHelper.GetQualifiedUrlFromItemPath(ItemPaths.FacilitiesAndClasses)); objTemplateVariables.Add("YourHealthLinkUrl", SitecoreHelper.GetQualifiedUrlFromItemPath(ItemPaths.YourHealth)); objTemplateVariables.Add("MembershipsLinkUrl", SitecoreHelper.GetQualifiedUrlFromItemPath(ItemPaths.Memberships)); objTemplateVariables.Add("PrivacyPolicyLinkUrl", SitecoreHelper.GetQualifiedUrlFromItemPath(ItemPaths.PrivacyPolicy)); objTemplateVariables.Add("TermsAndConditionsLinkUrl", SitecoreHelper.GetQualifiedUrlFromItemPath(ItemPaths.TermsAndConditions)); objTemplateVariables.Add("Copyright", Translate.Text("© Copyright ##Year## Virgin Active. All rights reserved.")); //objTemplateVariables.Add("CampaignTermsAndConditionsLinkUrl", new PageSummaryItem(currentCampaign.CampaignBase.Termsandconditionslink.Item).QualifiedUrl); objTemplateVariables.Add("CustomerName", txtName.Value.Trim()); if (manager != null) { objTemplateVariables.Add("ClubManagerName", manager.Person.Firstname.Rendered + " " + manager.Person.Lastname.Rendered); } else { objTemplateVariables.Add("ClubManagerName", ""); } objTemplateVariables.Add("ClubName", currentClub.Clubname.Rendered); objTemplateVariables.Add("EmailSubject", strEmailSubject); objTemplateVariables.Add("EmailFromAddress", strEmailFromAddress); objTemplateVariables.Add("EmailToAddress", strEmailToAddress); objTemplateVariables.Add("YouTubeLinkUrl", Settings.YouTubeLinkUrl); objTemplateVariables.Add("TwitterLinkUrl", Settings.TwitterLinkUrl); objTemplateVariables.Add("FacebookLinkUrl", Settings.FacebookLinkUrl); objTemplateVariables.Add("McCormackMorrisonLinkUrl", Settings.McCormackMorrisonUrl); objTemplateVariables.Add("ImageRootUrl", Sitecore.Web.WebUtil.GetServerUrl()); objTemplateVariables.Add("ClubPhoneNumber", currentClub.Salestelephonenumber.Rendered); objTemplateVariables.Add("ClubHomePageUrl", Sitecore.Links.LinkManager.GetItemUrl(currentClub, urlOptions)); System.Text.StringBuilder markupBuilder; markupBuilder = new System.Text.StringBuilder(); markupBuilder.Append(currentClub.Addressline1.Rendered); markupBuilder.Append(!String.IsNullOrEmpty(currentClub.Addressline2.Rendered) ? "<br />" + currentClub.Addressline2.Rendered : ""); markupBuilder.Append(!String.IsNullOrEmpty(currentClub.Addressline3.Rendered) ? "<br />" + currentClub.Addressline3.Rendered : ""); markupBuilder.Append(!String.IsNullOrEmpty(currentClub.Addressline4.Rendered) ? "<br />" + currentClub.Addressline4.Rendered : ""); markupBuilder.Append("<br />" + currentClub.Postcode.Rendered); objTemplateVariables.Add("ClubAddress", markupBuilder.ToString()); //Parser objParser = new Parser(campaign.CampaignBase.GetTemplateHtml(), objTemplateVariables); Parser objParser = new Parser(objTemplateVariables); if (emailItem.InnerItem.TemplateName == Templates.CampaignEmail) { CampaignEmailItem campaignEmail = (CampaignEmailItem)emailItem.InnerItem; //First parse the Email Body text objParser.SetTemplate(campaignEmail.Emailbody.Raw); string strEmailBody = objParser.Parse(); objTemplateVariables.Add("EmailBody", strEmailBody); //Second parse the full html -substituting in title and preheader objTemplateVariables.Add("EmailTitle", campaignEmail.Emailtitle.Raw); objTemplateVariables.Add("EmailPreheader", campaignEmail.Emailpreheader.Raw); objParser = new Parser(objTemplateVariables); if (currentClub.InnerItem.TemplateName == Templates.ClassicClub) { objParser.SetTemplate(campaignEmail.Classichtml.Raw); } else { objParser.SetTemplate(campaignEmail.Standardhtml.Raw); } } else { EmailItem standardEmail = (EmailItem)emailItem.InnerItem; //Standard email objParser.SetTemplate(standardEmail.Emailhtml.Raw); } //Parser objParser = new Parser(Server.MapPath(EmailTemplates.FreeGuestPassConfirmation), objTemplateVariables); string strEmailHtml = objParser.Parse(); mm.sharedtools.EmailMessagingService.SendResult objSendResult = new mm.sharedtools.EmailMessagingService.SendResult(); mm.sharedtools.EmailMessagingService.Messaging objMessaging = new mm.sharedtools.EmailMessagingService.Messaging(); string strAttachments = ""; //now call messaging service objSendResult = objMessaging.SendMailSecure(strEmailFromAddress, strEmailToAddress, "", Settings.BccEmailAddress, strEmailSubject, true, strEmailHtml, strAttachments); if (objSendResult.Success == true) { blnEmailSent = true; } } } catch (Exception ex) { Log.Error(String.Format("Error sending module enquiry email confirmation {1}: {0}", ex.Message, currentClub.Clubname.Raw), this); mm.virginactive.common.EmailMessagingService.ErrorEmailNotification.SendMail(ex); } return blnEmailSent; }
protected void Page_Load(object sender, EventArgs e) { currentItemUrl = Sitecore.Links.LinkManager.GetItemUrl(currentItem); //Add dynamic content this.Page.FindControl("ScriptPh").Controls.Add(new LiteralControl(@"<script src=""/virginactive/scripts/_plugins/validation/jquery.validate.js""></script>")); this.Page.FindControl("ScriptPh").Controls.Add(new LiteralControl(@"<script src=""/virginactive/scripts/_plugins/validation/additional-methods.js""></script>")); this.Page.FindControl("ScriptPh").Controls.Add(new LiteralControl(@"<script src=""/virginactive/scripts/indoortriathlon/indoor-tri.js""></script>")); twitterText = currentItem.TwitterText.Field.Value; twitterShareURL = currentItem.TwittershareURL.Field.Value; //dynamic twitter text and link added //Get Indoor Tri Home Page -(set to be the Facebook article page) Item homePage = Sitecore.Context.Database.GetItem(ItemPaths.IndoorTriathlonHomePage); if (homePage != null) { Sitecore.Links.UrlOptions urlOptions = new Sitecore.Links.UrlOptions(); urlOptions.AlwaysIncludeServerUrl = true; urlOptions.AddAspxExtension = true; articleURL = Sitecore.Links.LinkManager.GetItemUrl(homePage, urlOptions); } if (!String.IsNullOrEmpty(currentItem.DownloadPDFLink.MediaUrl)) { downloadPDFUrl = currentItem.DownloadPDFLink.MediaUrl; //confirmation page pdf download link } if (!Page.IsPostBack) { SetPage(); } // this.Page.FindControl("ScriptPh").Controls.Add(new LiteralControl(@"<script> // //var prm = Sys.WebForms.PageRequestManager.getInstance(); // //prm.add_endRequest(function() { // indoorTry.formAfterPostBackHandler1; //}); // </script>")); }
public static string GetRoutePathInfo(this Sitecore.Data.Items.Item item, Sitecore.Links.UrlOptions urlOptions = null) { return(GetItemUrl(item, urlOptions).TrimStart(new char[] { '/' })); }
static public string GetLink(this Item item, Sitecore.Links.UrlOptions options) { return(Sitecore.Links.LinkManager.GetItemUrl(item, options)); }
public static string GetItemUrl(this Sitecore.Data.Items.Item item, Sitecore.Links.UrlOptions urlOptions = null) { return(Sitecore.Links.LinkManager.GetItemUrl(item, urlOptions ?? Sitecore.Links.UrlOptions.DefaultOptions)); }