yii支持module和theme,分別都有很多文章,但是如何更好的結合起來,很少有人關注。
yii提供了一個默認的方式,即在webroot的theme目錄下增加一個module目錄解決。

默認方案滿足了大部分人的需要,但是都說是模塊了,肯定要通用啊。那為了更好的滿足通用性,肯定希望吧模塊的一些主題內容放在模塊自己的目錄下。

好吧,let me try。在module的類里面重載下面的函數即可。
public function getViewPath()
{
// 存在主題的話,去查看module有沒有對應的
if(yii::app()->theme!==null)
{
$viewPath = dirname(__FILE__).DIRECTORY_SEPARATOR.'themes'.DIRECTORY_SEPARATOR.yii::app()->theme->name;
if(file_exists($viewPath))
{
return $viewPath.DIRECTORY_SEPARATOR.'views';
}
}
return parent::getViewPath();
}說明下:
如果在配置里面沒有設置了theme的話,按yii默認處理,即讀取模塊的views目錄。
如果設置了theme,會去模塊的主題目錄下查找對應的,存在的話,直接設置,沒有的話,還是按照yii默認處理,即去應用的主題目錄下查找模塊目錄。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。