0

このヘッダーは、ロゴを除くすべてのページで固定されています。ロゴは、ユーザーがいるページに関して、色が少し異なります。

対応するコントローラーでそれを設定し、layout.php ページで呼び出す必要がありますか?

On controller
public $param = 'logoimagename';

On layout
echo $this->param 

Yii は設計上、これを好まないと聞きましたが、何か良い方法はありますか?

4

1 に答える 1

1

次のような署名を持つヘルパー関数を使用して実装します。

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, ...);
于 2012-09-21T10:46:03.077 に答える