在 Sitefinity 博客中使用类别名称 URL
Use category name in Sitefinity blog URL
我按照有关建立新提供程序和生成自定义 URL 的说明 here 进行操作,并且按预期工作。似乎没有关于在设置中可以使用哪些参数的明确参考,因为给出的示例非常基础。
我想在URL中使用post的分类名称。我试过了:
/[Category]/[UrlName]
但我在前端得到的是:
http://localhost:60327/my-page/Telerik.OpenAccess.TrackedList%601[System.Guid]/my-post-name
我也试过了
/[Category.Title]/[UrlName]
刚刚抛出错误。
任何人都知道如何做到这一点,或者更好的是,参数的一个很好的参考?
我认为这是不可能的,因为类别 属性 实际上是一个集合 (TrackedList)。
从理论上讲,您需要其中一个集合项,比如第一个,您的 URL 表达式将是 /[Category[0].Title]/[UrlName]
,但表达式解析器目前不支持。
此外,使 URL 依赖于复杂(相关)字段的想法不是一个好主意。如果有人删除该类别,他们将破坏您的所有博客 post URLs.
我建议您为博客 post 项目(例如:CategoryUrl)创建一个自定义文本字段,然后您应该能够将 URL 格式设置为 /[CategoryUrl]/[UrlName]
.确保 CategoryUrl
字段是必需的。
我按照有关建立新提供程序和生成自定义 URL 的说明 here 进行操作,并且按预期工作。似乎没有关于在设置中可以使用哪些参数的明确参考,因为给出的示例非常基础。
我想在URL中使用post的分类名称。我试过了:
/[Category]/[UrlName]
但我在前端得到的是:
http://localhost:60327/my-page/Telerik.OpenAccess.TrackedList%601[System.Guid]/my-post-name
我也试过了
/[Category.Title]/[UrlName]
刚刚抛出错误。
任何人都知道如何做到这一点,或者更好的是,参数的一个很好的参考?
我认为这是不可能的,因为类别 属性 实际上是一个集合 (TrackedList)。
从理论上讲,您需要其中一个集合项,比如第一个,您的 URL 表达式将是 /[Category[0].Title]/[UrlName]
,但表达式解析器目前不支持。
此外,使 URL 依赖于复杂(相关)字段的想法不是一个好主意。如果有人删除该类别,他们将破坏您的所有博客 post URLs.
我建议您为博客 post 项目(例如:CategoryUrl)创建一个自定义文本字段,然后您应该能够将 URL 格式设置为 /[CategoryUrl]/[UrlName]
.确保 CategoryUrl
字段是必需的。