您可以使用 进行简单if-else
检查,getController()
如下getAction()
所示:
if(Yii::app()->getController()->getId()=='image' && Yii::app()->getController()->getAction()->getId()=='test'){
echo '<div class="sidebar">Created at '.$this->image->created_at.'</div>';
}
else
echo '<div class="sidebar">hello!</div>';
要$image
在布局中访问,我们需要将其设为image
控制器本身的公共属性,然后在test
我们初始化 的操作中$image
,我们将初始化 public $image
,例如:
class ImageController extends Controller{
public $image;
...
public function actionTest(){
$this->image=Example::model()->findByPk(1);// example
...
}
}
这将允许我们访问布局中的图像,尽管使用$this->image->property
.
同样在布局$this
中指的是当前控制器,因此我们也可以使用$this->id
而不是Yii::app()->getController()->getId()
获取控制器ID(名称是此处的图像),$this->action
而不是Yii::app()->getController()->getAction()->getId()
获取操作ID。