Используйте имя категории в URL блога Sitefinity

Я следовал приведенным здесь инструкциям по созданию нового поставщика и созданию пользовательских URL-адресов, и он работает, как и ожидалось. Кажется, нет четкой ссылки на то, какие параметры могут быть использованы в настройках, поскольку приведенный пример очень прост.

Я хочу использовать название категории сообщения в URL. Я старался:

/[Category]/[UrlName]

но то, что я получил в интерфейсе было:

http://localhost:60327/my-page/Telerik.OpenAccess.TrackedList%601[System.Guid]/my-post-name

Я тоже пробовал

/[Category.Title]/[UrlName]

который просто выбросил ошибки.

Кто-нибудь знает, как это сделать, или еще лучше, хороший справочник по параметрам?

1 ответ

Решение

Я не думаю, что это возможно, поскольку свойство Category на самом деле является коллекцией (TrackedList). Теоретически вам понадобится один из элементов коллекции, скажем, первый, и ваше выражение URL будет /[Category[0].Title]/[UrlName], но это в настоящее время не поддерживается анализатором выражений.

Кроме того, идея сделать URL зависимым от сложного (связанного) поля не очень хорошая идея. Если кто-то удалит эту категорию, он нарушит все URL вашего блога.

Я бы посоветовал вам создать настраиваемое текстовое поле для элемента сообщения в блоге (например, CategoryUrl), а затем вы сможете установить формат URL на /[CategoryUrl]/[UrlName], Удостовериться CategoryUrl Поле, обязательное для заполнения.

Другие вопросы по тегам