このヘッダーは、ロゴを除くすべてのページで固定されています。ロゴは、ユーザーがいるページに関して、色が少し異なります。
対応するコントローラーでそれを設定し、layout.php ページで呼び出す必要がありますか?
On controller
public $param = 'logoimagename';
On layout
echo $this->param
Yii は設計上、これを好まないと聞きましたが、何か良い方法はありますか?
このヘッダーは、ロゴを除くすべてのページで固定されています。ロゴは、ユーザーがいるページに関して、色が少し異なります。
対応するコントローラーでそれを設定し、layout.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, ...);