その指定の仕方。
default.ctp
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><?php echo $title_for_layout?></title> <?php echo $html->css(array( '/bootstrap/css/bootstrap.min', '/bootstrap/css/bootstrap-responsive.min', 'style' ), 'stylesheet', array('inline'=>true) ); echo $html->script(array( 'jquery' ), array('inline'=>true) ); echo $scripts_for_layout; ?> </head>
通常、view側で$html->css()や$html->script()を使用して指定したものが、レイアウト側の$scripts_for_layoutで出力されます。ですが、ここでは、どのviewからも呼び出すものは7~19行目のようにdefault.ctp側で指定しています。注意点は二つ。
・echoなどの出力系コマンドで出力する。(7,15行目)
→view側で指定する場合は、 "echo $scripts_for_layout;"で出力されるのでecho等は必要なかった。
・inlineをtrueとする。(13、18行目)
→ここで指定したものは$scripts_for_layoutではかせるのではなく、「その場」で吐かせるため。
(inlineをfalseにするのは$scripts_for_layoutの中に入れ込むということ。ただし、layout側でfalseを指定した場合、$scripts_for_layoutに入ってこない。)
あと、これは作り方によりますが、基本的には上のコードのように"echo $scripts_for_layout;"の直前で出力させることになるかと思います。ベーシックなjs、cssなので、先に読み込ませるべきものが多いと思います。
0 件のコメント:
コメントを投稿