如何正确处理不同的小 Yii 布局变化

  • 本文关键字:Yii 布局 变化 正确处理 yii
  • 更新时间 :
  • 英文 :


>我有这个标题,它在所有页面上都是固定的,除了徽标。徽标的颜色略有不同,与用户所在的页面有关。

我们应该在相应的控制器上设置它并在布局.php页面上调用它吗?

On controller
public $param = 'logoimagename';
On layout
echo $this->param 

我听说 Yii 在设计上不喜欢这个,还有更好的方法吗?

我会使用带有如下签名的帮助程序函数来实现它:

function getLogoName($controller, $action, ...){
   $logo = Yii::app()->params['default_logo'];
   $logo_rules = Yii::app()->params['logo_rules'];
   // check if controller and action match any of the logo rules and get the logo name if found; use the default one otherwise
   return $logo;
}

default_logo和logo_rules是您必须在配置文件中设置的参数。

在视图文件中,您可以简单地编写:

echo .... getLogoName($this->id, $this->action->id, ...);