private static string ResolvePageLink(Tridion.ContentManager.TcmUri tcmUri, Localization localization) { PageLink linker = new PageLink(GetPublicationUri(tcmUri, localization)); Link link = linker.GetLink(tcmUri.ItemId); return(link.IsResolved ? link.Url : null); }
private static string ResolvePageLink(TcmUri tcmUri, int localizationId = 0) { int publicationId = localizationId == 0 ? tcmUri.PublicationId : localizationId; PageLink linker = new PageLink(publicationId); Link link = linker.GetLink(tcmUri.ItemId); return(link.IsResolved ? link.Url : null); }
public string ResolvePageLink(string tcmUri) { TcmUri pageUri = new TcmUri(tcmUri); using (var pageLink = new PageLink(pageUri.PublicationId)) { var link = pageLink.GetLink(pageUri.ItemId); if (link != null) { return link.Url; } else { return String.Empty; } } }
public string ResolvePageLink(string tcmUri) { TcmUri pageUri = new TcmUri(tcmUri); using (var pageLink = new PageLink(pageUri.PublicationId)) { var link = pageLink.GetLink(pageUri.ItemId); if (link != null) { return(link.Url); } else { return(String.Empty); } } }
public void TryRedirect(Object s, EventArgs e) { HttpContext context = HttpContext.Current; int publicationId = int.Parse(ConfigurationManager.AppSettings["GlobalPubId"]); string redirectField = ConfigurationManager.AppSettings["RedirectUrlField"]; string url = context.Request.Url.PathAndQuery; int pos = url.IndexOf("?"); if (pos > 0) { url = url.Substring(0, pos); } PublicationCriteria publicationCriteria = new PublicationCriteria(publicationId); ItemTypeCriteria itemCriteria = new ItemTypeCriteria(64); CustomMetaValueCriteria cmvCriteria = new CustomMetaValueCriteria(new CustomMetaKeyCriteria(redirectField), url); AndCriteria andCriteria = new AndCriteria(new Criteria[] { publicationCriteria, itemCriteria, cmvCriteria }); Query query = new Query(andCriteria); string[] results = query.ExecuteQuery(); if (results.Length > 0) { PageLink pageLink = new PageLink(publicationId); Link link = pageLink.GetLink(results[0]); if (link.IsResolved) { // Redirect HttpResponse response = context.Response; response.Clear(); response.RedirectLocation = link.Url; response.StatusCode = 301; response.StatusDescription = "301 Moved Permanently"; response.Write("Page has moved to " + link.Url); response.End(); } } }
public void TryRedirect(Object s, EventArgs e) { HttpContext context = HttpContext.Current; int publicationId = int.Parse(ConfigurationManager.AppSettings["GlobalPubId"]); string redirectField = ConfigurationManager.AppSettings["RedirectUrlField"]; string url = context.Request.Url.PathAndQuery; int pos = url.IndexOf("?"); if (pos > 0) url = url.Substring(0, pos); PublicationCriteria publicationCriteria = new PublicationCriteria(publicationId); ItemTypeCriteria itemCriteria = new ItemTypeCriteria(64); CustomMetaValueCriteria cmvCriteria = new CustomMetaValueCriteria(new CustomMetaKeyCriteria(redirectField), url); AndCriteria andCriteria = new AndCriteria(new Criteria[] { publicationCriteria, itemCriteria, cmvCriteria }); Query query = new Query(andCriteria); string[] results = query.ExecuteQuery(); if (results.Length > 0) { PageLink pageLink = new PageLink(publicationId); Link link = pageLink.GetLink(results[0]); if (link.IsResolved) { // Redirect HttpResponse response = context.Response; response.Clear(); response.RedirectLocation = link.Url; response.StatusCode = 301; response.StatusDescription = "301 Moved Permanently"; response.Write("Page has moved to " + link.Url); response.End(); } } }
private static string ResolvePageLink(TcmUri tcmUri, int localizationId = 0) { int publicationId = localizationId == 0 ? tcmUri.PublicationId : localizationId; PageLink linker = new PageLink(publicationId); Link link = linker.GetLink(tcmUri.ItemId); return link.IsResolved ? link.Url : null; }
private static string ResolvePageLink(string uri, int localizationId = 0) { //TODO should we have a single (static) link object? var linker = new PageLink(localizationId == 0 ? GetPublicationIdFromUri(uri) : localizationId); var link = linker.GetLink(GetItemIdFromUri(uri)); return link.IsResolved ? link.Url : null; }