0

我明白什麼是MVC和CMS。我瞭解MVC模式以及CMS應如何工作。但我有主題和模式的問題。CMS的MVC?主題呢?

例如:

CMS在serwer上安裝時我想更改我的主頁。我想顯示一些額外的數據。我更改我的主頁模板並添加一個函數調用來從數據庫中提取數據。我的新數據將顯示在我的主頁上。 :)

但是,當我這樣做時,我打破了MVC模式,因爲在這種情況下查看決定哪些數據應該從數據庫中讀取以顯示在我的主頁上。

所以...是MVC的CMS?或者,也許它不應該是一個明確的MVC模式來處理這樣的情況?也許我應該忘記模式?我很困惑...

PS WordPress的它不建立在MVC模式,我猜?

+0

模式並不總是必須是純淨的。例如,在ASP.NET MVC中,已知的雜質與子控制器和RenderAction助手有關。做什麼都行。更具體地說,做什麼最適合您的特定應用程序。 – 2009-07-25 22:38:44

回答

0

設計模式,如MVC意味着是關於從業務邏輯分離的顯示代碼等,這使得它更容易在不影響任何其他部分的改變任何部分(如更換模板,而不必擔心意外更改任何業務邏輯)。

你的情況聽起來像是你添加的功能簡單視圖邏輯?最好將函數放入Helper,並通過Model讓幫助者調用數據。然後,在你看來,只需打電話給助手。

僞代碼:

助手

function get_whatever_data() { 
    // get the actual data from the model 
    return SomeModel.get_the_data_thats_needed_here() 
} 

查看

<div id="some-id"> 
    <? print get_whatever_data() ?> 
</div>