Js/Cssファイルの読み込みや出力する方法

CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。
また、インラインに出力する関数も用意されており、動的に出力する際にも便利なようにつくられているようです。
javascriptファイルの読み込み
javascriptファイルの読み込みを行うには以下のようにHtmlヘルパーのscriptにパスを指定します。
echo $this->Html->script( 'jsファイル(パス)');
// パスに//が含まれている場合は、CDNから取得される。 echo $this->Html->script( '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'); // App.jsBaseUrl(JS_URL)以下のパスを指定。標準では、app/webroot/js echo $this->Html->script( 'jquery.min.js');
出力する場所を指定
inline指定なしの場合は、scriptメソッドを記述した場所に出力されます。(デフォルトでtrue)
falseにした場合は、デフォルトで$this->fetch('script')に出力されます。
blockを指定することで出力場所を複数分割指定することも可能でhead/body内などそれぞれ指定が可能になります。('block' => 'script'がデフォルト)
// 記述場所に出力する echo $this->Html->script( 'jquery.min.js', array( 'inline' => true)); // 出力場所を指定 // /app/View/Layouts/default.ctpの$this->fetch('script')に出力される echo $this->Html->script( 'jquery.min.js', array( 'inline' => false)); // $this->fetch('script')以外に出力 echo $this->Html->script( 'jquery.min.js', array( 'inline' => false, 'block' => 'footer')); // 出力させたい場所に記述 echo $this->fetch( 'footer')
インラインで出力する「scriptBlock」「scriptStart」「scriptEnd」
以下のようにするとHTML内に直接出力することができます。
<?php echo $this->Html->scriptBlock( 'alert( "alert");', array( 'inline' => false)); ?> <?php echo $this->Html->scriptStart( array( 'inline' => false)); ?> alert( "alert"); <?php echo $this->Html->scriptEnd(); ?>
Cssファイルの読み込み
CSSファイルの読み込みもJSファイルとほぼ同じです。
echo $this->Html->css( 'cssファイル');
// パスに//が含まれている場合は、URL(CDNなど)から取得される。 echo $this->Html->css( '//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css'); // App.cssBaseUrl(CSS_URL)以下のパスを指定。標準では、app/webroot/css echo $this->Html->css( 'bootstrap.min.css');
出力する場所を指定
inline/blockオプションの使用方法はscriptと同じです。inlineをfalseに指定した場合は、デフォルトで$this->fetch('css')に出力されます。
('block' => 'css'がデフォルト)
インラインで出力する「style」
以下のようにキーと値で配列の組み合わせによりスタイルを出力することができます。必要なところでstyleタグは囲って下さい。
動的にスタイルを変えたい場合などに便利です。
<?php echo $this->Html->style(array( 'background' => '#633', 'border-bottom' => '1px solid #000', 'padding' => '10px' ), // 'oneline' => true // 1行で出力される(デフォルト) );
関連記事
-
-
recursive設定によるfind()性能改善
CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま
-
-
コントローラ内でバリデーション処理を呼び出す
CakePHPでは、saveメソッドの際にバリデーション処理も自動で行われますが、save処理と切り離してバリデーションを行うこともできます。このときは、save時と若干異なる処理体系になります。
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
radioボタンを実装
Radioボタンの実装は、セレクトボックスとほぼ同じです。 個人的にはラジオボタンをすすんで使用することは少ないのですが、2択くらいの選択肢であれば非常に便利ですよね。 今回は、その実装方法 デモ
-
-
テーブルからランダムにデータを取り出す(find)
CakePHPでテーブルから特定件数のレコードをランダムに取得するには以下のように指定するとできます。 $this->data = $this->Bulkdata->find( 'all',
-
-
CSS/JSをひとまとめにして軽量化するプラグイン「Minify plugin for CakePHP」
「Minify plugin for CakePHP」は、インクルードするCSSもしくはJSファイルをひとまとめにしてキャッシュ化してくれるプラグインです。 導入 ダウンロード・解凍し
-
-
多言語サイト向けに翻訳ファイルを使って翻訳を行う
CakePHPには、翻訳をビヘイビアを使用する方法と翻訳ファイルを使用する方法の2つがあるそうです。(他にもあるのかな?) 今回は、翻訳ファイルを使用して言語の切り替えを行い、その言語設定をCook
-
-
FormヘルパーのMagicOption (マジックオプション)
Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある
-
-
CakePHP 2.x インストール
現在まで私が商用・非商用にリリースしているCakePHPアプリケーションは全て1.3.xベースで作成しています。 まだまだロードマップ的には大丈夫そうですが、お客さん向けに納品しているアプリケーショ
-
-
ネストしたリストを出力「nestedList」
DBやJSONからデータを取得して、そのデータをもとにメニュー表示などネストしたリストを出力させたい場合に「nestedList」が便利です。 ヘルパーに渡すデータは連想配列である必要があります。(
Comment
Js/Cssファイルの読み込みや出力する方法 https://t.co/iKbIui7QsX #pocket2twitter
Js/Cssファイルの読み込みや出力する方法 https://t.co/hXlV79kCPj
CakePHP 2.x - Js/Cssファイルの読み込みや出力する方法 http://t.co/ddbMAYp4GS
Js/Cssファイルの読み込みや出力する方法 http://t.co/waogq7AsRv
view,html helper
cakephp