RSS
 

scripts_for_layoutとは?

21 3月

いつのまにやらlayoutにscripts_for_layoutという変数が出力されている。
これは何だろう?
viewを見てみると、addScriptというメソッドがある。
これを利用すれば良いようだが、どこで使うかが分からない。
調べてみると、各々のコンテンツの中で使えば
そのスクリプトがhead内に入るらしい。
例えば以下のように使う。
index.ctp

<h2>○○の一覧</h2>
<?php foeach… ?>
<?php endforeach ?>
<?php $this->addScript($javascript->codeBlock(’alert("alert in head!");)) ?>

すると出力時は

<html …>
<head>
 :
 :
<script type="text/javascript">alert("alert in head!");</script>
</head>
<body>
 :

という感じ。

追記となるが、上記は半分間違い。
実際にはJavascriptHelperのcodeBlock, linkメソッドやHtmlHelperのcssメソッドの引数で
その場に記述するかscripts_for_layoutsに記述するかを指定できる。
基本的にはそっちを使うべき。
ソースを見てみるとinlineがどうたらこうたらで指定するようなので一度ご確認を。

 
No Comments

Posted in CakePHP, php

 

Leave a Reply