我想知道是否可以使用kentico宏(不一定编写自定义宏)来访问部分重写URL的路径。
示例:http://www.mysite.com/Category/Subcategory/
我想得到最后一部分(子类别),以便我可以动态过滤内容。我想使用宏的原因是不必只有20多个不同的页面模板,所以我可以拥有不同的Web部件属性。
答案 0 :(得分:0)
假设您正在使用Portal模板,并且您不希望父级中的“所有子类别中的所有项目”列表:
Path
设置为/{0}/{1}/{2}/%
(例如,如果您的路径为/ Home / Parent / Subcategory)或类似的环境。Inherit
作为页面模板。这不会在父页面上显示任何内容,子类别将仅显示其自身的文档。注意:如果您希望子类别项目在用户深入查看/{0}/{1}/{2}/item
时拥有自己的视图,则可能需要通过更改模板继承或Web部件上的文档类型进行筛选,或者如果您不这样做我希望整个子类别列表也显示在特定于项目的页面上。
答案 1 :(得分:0)
您可以创建自定义宏,也可以使用宏中允许的字符串操作。请参阅http://devnet.kentico.com/docs/6_0/devguide/available_macro_methods.htm#string_methods(您可以使用EndsWith或TrimStrart或类似的东西)。
但是,我认为最好的方法是创建一个完全适合的自定义宏。可能有宏和宏功能的某种组合 - 但我认为编写一个可以满足您100%需求的自定义代码更快。
此外,如果有适合的内容,您可以查看K# - http://devnet.kentico.com/docs/6_0/devguide/ksharp_syntax.htm