グーグルマップのツールチップとして使用される文字列をHTMLエンコードしようとしています。
$cs = Yii::app()->getClientScript();
$cs->registerScript('someID', <<<EOD
function mapsetup() {
//...
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
// works:
title: '$model->name'
// doesn't work:
title: '{${CHtml::encode($model->name)}}'
});
// ...
}
mapsetup();
EOD
, CClientScript::POS_LOAD
);
この行を使用するtitle: '$model->name'
と、次のように展開されます。
title: 'Some Name'
代わりにこの行を使用するtitle: '{${CHtml::encode($model->name)}}'
と、次のように展開されます。
title: ''
CHtml::encode
同じページの他の場所では問題なく動作しますが、phpヒアドキュメントでは動作しないようです。
- ブラウザにレンダリングされるJavaScript文字列データをHTMLエンコードする必要がありますか?
- ヒアドキュメントでCHtml::encodeを機能させるにはどうすればよいですか?