請問MVC架構,不同的身分在同一個View要顯示不同的功能選單,一樣是在View裡做判斷嗎?
想請問各位高手 如何做 可以提供個方向嗎
一般設計的方向有如下
1.view內功能權限顯示:
將用戶或群組在model或Controller做個權限讀取的參數給view。
view內部則是用該權限來決定要顯示的選單
其優點是功能列可以統一一個view內來做控管。且容易多重選單控制
但缺點就是像sam說的,view做太多判斷控制。失去了view的主要用處。
2.多view分段功能顯示:
將要顯示的選單分成多個選單view來處理。再由Controller來決定要取用哪一個view選單。
此方式是適合2~3種選單的情況下。一方面不需要太多的view。也比較直覺性。
但就不太適合多重權限。因為沒固定制的選單view。
3.參數化box輸出顯示:
將選單的資料採用json或陣列的方式來做輸出。再套入一個單純的選單view。
這樣的方式也是一種跟第1種方式有點類同。差別就是有先將view的部份變成是一種套用樣版。
選單參數資料也是一樣在model或Controller產生好後直接輸出。
跟第一個比較不同的是,它不需要判斷式。只要有單純的foreach就行