目前,我们在CQ5中的所有页面都作为静态内容页面存在.例如.
/products/categoryOne/productOne.html
/products/categoryOne/productTwo.html
Run Code Online (Sandbox Code Playgroud)
我希望能够将其发展为一个更加动态的解决方案,我可以在其中做一些事情
/products/[dynamicCategory]/[dynamicProductName].html
Run Code Online (Sandbox Code Playgroud)
然后,我将通过调用外部RESTful服务将适当的信息填充到模板中.这是可能的,在CQ5?似乎我需要每个类别/产品组合的实际CQ5页面.
那么您的要求是在没有查询字符串的"产品"页面的单个实例上显示动态类别和产品信息?
apache sling url分解描述包含两种非常简单的方法来解决这个问题.选择器或后缀路径.这两种方法都可以包含动态数据的标识符.
使用选择器来标识类别和产品ID /名称,此方法的URL方案如下所示.
/products.[dynamicCategory].[dynamicProductName].html
Run Code Online (Sandbox Code Playgroud)
使用后缀路径,URL方案如下所示:
/products.html/[dynamicCategory]/[dynamicProductName]
Run Code Online (Sandbox Code Playgroud)
使用这两种方法,您只需拥有一个产品页面实例,然后负责处理当前选择器或后缀路径的值以检索外部数据.