我正在为我们的在线商店重新设计模板(使用Castle Monorail和NVelocity视图引擎),但希望为某些用户提供旧版面。
我开始在PropertyBag中添加一个变量来确定用户应该获得的版本,并将布局设置为'BaseLayout.vm',如下所示:
#if($StoreVersion == 2)
#parse("VersionTwo/DefaultLayout.vm")
#else
#parse('VersionOne/DefaultLayout.vm')
#end
这适用于布局,我可以在每个模板文件中技术上使用这种方法,但这似乎有点长。我有更好的机械化方法吗?
答案 0 :(得分:2)
您可以将条件放在代码中并在控制器中设置LayoutName属性,而不是将其有条件地“转发”到其他布局的布局。
答案 1 :(得分:0)
我会创建一个控制器过滤器,并根据您的逻辑覆盖要呈现的布局名称