Как убрать значение Url после первого / в Umbraco - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть 2 заголовка с макрочастицами, и я извлекаю его, если URL содержит определенное имя, например, допустим, текущий URL равен www.exaple.com/about и www.exaple.com/about/dynamic_url. Теперь мне нужно избавиться от динамического URL, который означает, что еслиURL в любом случае содержит заголовок.

Я новичок в umraco, любая помощь будет оценена.TIA

@{
    if (CurrentPage.Name.ToLower() == "contact" || CurrentPage.Name.ToLower() == "about" || CurrentPage.Name.ToLower() == "hotels" || CurrentPage.Name.ToLower() == "tours")
    {
        @Umbraco.RenderMacro("SecondaryHeader")
    }
    else
    {
        @Umbraco.RenderMacro("Header")
    }
}

это мой код, и мой URL-адрес http://localhost:64760/tours/suspendisse-tour, поэтому мне нужно удалить / suspendisse-tour /

1 Ответ

0 голосов
/ 24 декабря 2018

Вы можете использовать CurrentPage.AncestorOrSelf(1).Name.ToLower() вместо CurrentPage.Name.ToLower()

Метод расширения AncestorOrSelf (1) будет выбирать n-й уровень узла в зависимости от переданного параметра - в моем примере это 1.

В вашем примере, используя свойство Url из CurrentPage.AncestorOrSelf(1), он всегда будет возвращать URL-адрес своего предка, а не URL-адрес текущей страницы.Поэтому вместо / tours / suspendisse-tour он всегда будет возвращать /tours/.

Более подробную информацию об этом методе можно проверить здесь .

...