Я был новичком в Umbraco CMS и заметил, что каждый раз, когда мне нужно запросить узел, я полагаюсь на постоянный идентификатор.
Например:
public static class Constants
{
public static class Pages
{
public static class System
{
public const int Root = 1059;
public const int Home = 1092;
public const int Pressemeddelelse = 1143;
}
public const int GratisKontoComplete = 1181;
public const int TilmeldNyhedsbrevComplete = 1182;
}
}
Приведенный выше код помогает мне, когда мне нужно получить узел, например @Umbraco.NiceUrl(Constants.Pages.System.Root);
Теперь мой вопрос:
Есть ли другой способ добиться этого? Что, если редактор контента удалил узел и создал? Узел, если он будет изменен, наверняка будет правильным. Вы хотите, чтобы я запросил его через NodeAlias? но я не знаю как, я не хочу использовать uQuery, потому что я использую последнюю версию Umbraco 7.4.3 с использованием MVC.
public IPublishedContent GetNodeByAlias(string alias) { var umbracoHelper = new UmbracoHelper(UmbracoContext.Current); var contentNode = umbracoHelper.TypedContentSingleAtXPath(String.Format("//{0}", alias)); return contentNode; }
Я также согласен, что documentTypeAlias вернет все элементы с одним и тем же типом документа, поэтому в моем случае я буду запрашивать только уникальный элемент с уникальным типом документа. 06.09.2016