【CakePHP】ViewでJavaScriptを直接記述するには(記述した場所に出力する)
バージョン:CakePHP 2.x
こちらでhead内にJavaScriptを出力させる方法を書きましたが、
コードを書いたその場所に出力させる方法についてです。
オプションのinlineをtrueにしただけでは表示されず、
$this->Html->scriptStart $this->Html->scriptEnd $this->Html->scriptBlock
を「echo」しなければいけないようです。
inlineをfalseにする場合はechoがなくとも出力されませんが、
trueの場合は注意が必要です。
• scriptStart
<?php echo $this->Html->scriptStart(array('inline' => true)); echo <<<END alert('テスト'); END; echo $this->Html->scriptEnd(); ?>
• scriptBlock
<?php $script = "alert('テスト');"; echo $this->Html->scriptBlock($script, array('inline' => true)); ?>
実際の出力は下記のような形になります。
<script type="text/javascript"> //<![CDATA[ alert('テスト'); //]]> </script>