2016-09-01 8 views
0

Новое в использовании Umbraco. Мне нужно создать Urls с необязательным параметром в конце, например.Использование дополнительных параметров в Umbraco 7 Urls

mysite.com/people/john 
mysite.com/people/jane 
etc 

однако по умолчанию для Umbraco требуется отдельная страница для каждого человека. Есть ли встроенный метод в Umbraco, который позволит мне определить последнюю часть Url в качестве необязательного параметра или мне нужно написать для него собственный маршрут?

Thanks

+1

Вы уже знаете это, но по умолчанию Umbraco захватит необязательный параметр в конце пути и применить шаблон, имеющий этот псевдоним тока стр. Например, если у вас есть шаблон под названием 'template-123', url' mysite.com/people/template-123' будет отображать ваш контент 'people' с помощью этого шаблона. Для меня это одна из наиболее полезных функций разработки в Umbraco, но если вы не думаете, что когда-либо будете использовать ее, переписывание URL-адреса IIS, вероятно, будет способом. – trnelson

ответ

2

У вас есть пара вариантов здесь.

  1. Использование URL IIS Переписывая для перезаписи URL, под капотом и перепишем /people/john к /people/?person=john сказать. Затем вы можете забрать человека из строки запроса на странице.

  2. Напишите собственный URL-адрес Finder, который ищет URL-адреса и делает некоторые вещи под капотом, например, получить страницу с людьми, а затем установить контекстный элемент с именем человека для использования в ваших представлениях и т. Д.

  3. Вы можете написать собственный маршрут для этого. Пользовательская маршрутизация в Umbraco немного отличается от обычного MVC. Вот в блоге подробно, как вы можете это сделать: http://shazwazza.com/post/custom-mvc-routes-within-the-umbraco-pipeline/