2

TLDR;在多个级别处理复杂虚拟物品的最佳或推荐方式是什么?

我目前正在做一些事情,而不是使用查询字符串变量来过滤属性,我只想扩展 URL 并允许这些 URL 进行过滤。
事件:
~/events/2012/april
~/events/lunches
~/events/6CB27D08-358E-49AA-8107-16A50E963C70

我目前有一个通配符设置来处理最后一个案例或年份,但遇到了只处理一个级别的通配符,所以我无法只处理/events/{0}/{1}一个通配符。此外,我相信常见的友好网址最终会成为/events/2012/april/<external_id>_<event_name>

使用通配符,我需要用三种不同的布局将它们放入三层深,以处理我目前所知道的每种情况

Events/
        *
          *
            *

有没有更好的方法或更推荐的方法来处理多层次的复杂虚拟物品?

4

2 回答 2

3

你在正确的路径上,你是正确的,你需要一个通配符项目为 URL 的每个段。但是,仅仅因为存在通配符并不意味着您需要使用它。换句话说,该/events/*/*项目将处理/events/2012/aprilURL。

您可能想查看这篇博文http://www.sitecore.net/Community/Technical-Blogs/Getting-to-Know-Sitecore/Posts/2011/09/Wildcards-and-Data-Driven-URLs.aspx通配符模块

于 2012-05-02T12:45:35.110 回答
2

使用通配符项目是否有特定原因?如果您使用通配符的深度超过 1 级,我认为您最好使用 URL 重写。

所以只制作/events项目并重写/events/{0}/{1}/events?year={0}&month={1}

于 2012-05-02T13:57:52.107 回答