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行で出力される(デフォルト)
);
関連記事
-
-
ネストしたリストを出力「nestedList」
DBやJSONからデータを取得して、そのデータをもとにメニュー表示などネストしたリストを出力させたい場合に「nestedList」が便利です。 ヘルパーに渡すデータは連想配列である必要があります。(
-
-
ユーザ登録(仮登録・メール・本登録)
以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU
-
-
バリデーション前後に処理を追加できる「beforeValidate」「afterValidate」
CakePHPでは、「beforeValidate」「afterValidate」というバリデーション処理の前後で追加の処理を実装できるコールバック関数が用意されています。 beforeVali
-
-
Jsヘルパーを使用してAjax更新
更新処理でページ遷移を伴う場合、ページ全体をレスポンスするのに対して、Ajax処理ではページの一部のレスポンスが可能となるためサーバからの通信量を抑えることが可能となります。デモ head
-
-
CakePHP インストール時エラーの対処
CakePHPインストール時に出くわすであろうエラーの原因と対処方法についてまとめてみました。前提として、WebサーバはApache、データベースはMySQLとしています。 Timezone未設
-
-
バリデーションエラーメッセージの取得
CakePHP 2.xになってバリデーションエラー時に返却されるメッセージのデータ形式が変更になったようです。1.3系では、ひとつのフィールドに対して返却されるメッセージは一つのルールのみですが、2.
-
-
複数ファイルアップロードフォーム
CakePHP 2.0からはHTML5が標準でサポートとなり、複数ファイルアップロードのためのフォーム記述が容易になりました。 View (ビュー) 配列 Array (
-
-
selectボックスを実装
今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った
-
-
RSSフィードの取得
コンロトーラ public function getrssfeed() { try { $newsItems = $this->Rss->read( 'http://
-
-
パス定数と変更方法やURLの取得
CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。


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