2011-11-28 13 views
0

我正在重新設計我們在線商店的模板(使用Castle NV的單視圖NVelocity視圖引擎),但希望爲特定用戶提供舊佈局。我應該如何爲NVelocity模板中的不同用戶類型提供單獨的佈局?

我已經開始了加入一個變量來確定該版本的用戶應該得到和佈局設置爲「BaseLayout.vm」它看起來像這樣的屬性包:

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

這適用於確定佈局和我可以技術上在每個模板文件中使用這種方法,但這似乎有點冗長。有沒有更好的方法可以實現這一點?

+0

被渲染那是BaseLayout.vm的全部內容,或只是其中的一部分? –

+0

這是整個文件。這個想法是讓表示動作的文件只是重定向到特定於版本的模板。我只是好奇,是否有更好的方式重定向到特定於版本的模板。 – Septih

+0

爲什麼不直接在控制器中設置'LayoutName'屬性? –

回答

2

您可以將條件置於代碼中並將LayoutName屬性設置到控制器中,而不是將條件「轉發」到其他佈局。

+1

對於其他感興趣的人,我做了上面的佈局,並覆蓋控制器上的Process方法來更改SelectedViewName的操作。 – Septih

0

我將箱子控制器過濾器和覆蓋佈局名基於你的邏輯

相關問題