Я сделал таким образом:
В базовый класс контролера:
class Controller extends CController {
public $jsParams = array();
/* ... */
дальше, во въюшке или в экшене
добавляем элементы в этот массив, например:
public function actionIndex() {
$oRequest = Yii::app()->getRequest();
$this->jsParams['csrf'] = array($oRequest->csrfTokenName => $oRequest->getCsrfToken());
}
ну и дальше рендим этот массив в главном layout, например:
Yii::app()->clientScript->registerScript('js.params', 'var jsParams=' . CJSON::encode($this->jsParams).';', CClientScript::POS_HEAD);
в скриптах можно получить доступ так:
jsParams = jsParams || {};
console.log(jsParams);