Вопрос

I'm redesigning the templates for our online store (Using Castle Monorail with the NVelocity view engine) but want to provide the old layout to certain users.

I've started out adding a variable to the PropertyBag that determines the version the user should get and set the layout to 'BaseLayout.vm' which looks like this:

#if($StoreVersion == 2)
    #parse("VersionTwo/DefaultLayout.vm")
#else
    #parse('VersionOne/DefaultLayout.vm')
#end

This works OK for the layout and I can technically use this approach in every template file, but this seems a bit long winded. Is there a better way I can mechanize this?

Это было полезно?

Решение

Instead of having a layout that "forwards" conditionally to other layouts, you can put the condition in code and set the LayoutName property in the controller.

Другие советы

I would crate a controller filter and override the layout name to be rendered based to your logic

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top