我的程序结构如下:
├─components
├─config
├─controllers
├─extensions
├─migrations
├─models
├─modules
│ └─photo
│ ├─components
│ ├─controllers
│ ├─models
│ └─views
│ ├─default
│ ├─layouts
│ └─model
└─views
├─layouts
└─site
└─pages
我想在photo模块中渲染/views/site/下的视图… 请问我应该怎么做?
好吧, 我已经找到解决方法了…
$this->render(’//viewfile’);
看了一下源码:
public function resolveViewFile($viewName,$viewPath,$basePath,$moduleViewPath=null)
{
if(empty($viewName))
return false;
if($moduleViewPath===null)
$moduleViewPath=$basePath;
if(($renderer=Yii::app()->getViewRenderer())!==null)
$extension=$renderer->fileExtension;
else
$extension='.php';
if($viewName[0]==='/')
{
if(strncmp($viewName,'//',2)===0)
$viewFile=$basePath.$viewName;
else
$viewFile=$moduleViewPath.$viewName;
}
else if(strpos($viewName,'.'))
$viewFile=Yii::getPathOfAlias($viewName);
else
$viewFile=$viewPath.DIRECTORY_SEPARATOR.$viewName;
if(is_file($viewFile.$extension))
return Yii::app()->findLocalizedFile($viewFile.$extension);
else if($extension!=='.php' && is_file($viewFile.'.php'))
return Yii::app()->findLocalizedFile($viewFile.'.php');
else
return false;
}