Yiiでmain.phpで設定したパラメータをjavascriptでも利用する方法

Yiiでは、PHP内で利用するパラメータはprotected/config/main.phpの

'params'=>array(
  'jsparam'=>'hogehoge',
),

の部分で設定しています。このパラメータをJavascriptで利用する場合、コントローラのアクション内で以下のようにすると、configという変数で使えるようになります。

class HogeController extends Controller
{
  function actionIndex()
  {
    $config=CJavaScript::encode(Yii::app()->params->toArray());
    Yii::app()->clientScript->registerScript('appConfig',"var config=".$config.";",CClientScript::POS_HEAD);
    $this->render('index');
  }
}

なお、hoge/index.phpでは、

<script>
if(config && config.jsparam){
  alert(config.jsparam);
}
</script>

のように利用します。

投稿日:
カテゴリー: php タグ: