我的yii第一个项目中有一个文件。我的项目有一个带有此路径的新主题
first_proj\themes\project\views\layouts\main.php
我希望在下面调用一个函数
<?php
if($is_project_manager){
?>
<div class="each-pop-el" style="cursor:pointer" ng-click="showAllMemberTask()">show tasks</div>
<?php } ?>
并且有功能 first_proj \保护\控制器\ project.php 这是
public function actionIsProjectmanager(){
$project_manager = false;
$crt = new CDbCriteria;
$crt->condition = 'user_id=:uid and role=1';
$crt->params = array('uid'=>Yii::app()->user->id);
$project_manager= projectMember::model()->findAll($crt);
// $model_result = MyModel::model()->test();
$this->render('the url to theme and main.php file', array('is_project_manager' => $project_manager));
}
我怎样才能找到那个main.php文件?我必须写什么而不是什么
我的职能是the url to theme and main.php file
?
答案 0 :(得分:0)
您将控制器layout
设置为该文件。所以它看起来像这样:
$this->layout = 'main';
布局也必须使用视图文件进行渲染。
$this->render('index', array('is_project_manager' => $project_manager));
然后将index.php
文件放在views/project
文件夹中,并附上操作内容。
这假设您已将配置设置为主题为project
答案 1 :(得分:0)
首先需要知道的是:无需将布局文件传递给视图。当您使用render()
函数时,yii会自动为您的视图添加布局。然后,要指定布局,您需要在操作中使用$this->layout = '//layouts/main
。
答案 2 :(得分:0)
在您的视图中使用此
<?php
if($this->isProjectmanager){
?>
<div class="each-pop-el" style="cursor:pointer" ng-click="showAllMemberTask()">show tasks</div>
<?php } ?>
并在控制器中创建辅助函数(不是动作!)
public function IsProjectmanager(){
if ($someConditon) {
return true;
}
else {
return false;
}
}