blade
検索すると三項演算子を使った方法が複数出てきますが、もっとシンプルにBladeの機能で出来ます。 Bladeの@checkedです。 <input type="checkbox" name="flag" @checked($flag)>
Bladeのforeach内で変数をカウントするには…普通にPHPを書けばよい。 @foreach($titles as $title) @endforeach
自作パッケージのBladeでextendsしたいときはパッケージ名を指定すればよい。 @extends('mypackagename::default') @section('content') <div class="container bs-docs-container"> <div class="bs-docs-section"> <p>Hello</p> </div> </div> @stop
Formのselectを使うときに、そのvalueはConfigから持ってくることが多い。私の場合は以下のようにしている。 {{ Form::select('movies[]', Config::get('movies.title'), $movies , ['multiple' => true,'data-rel'=>'chosen','class'=>'span12']) }}
Laravelで印刷専用のスタイルシートを指定するには、配列の引数を渡す。 {{ HTML::style('charisma/css/fullcalendar.print.css',['media'=>'print']) }}
Form::openからメソッドを指定する。 {{ Form::open(['action' => ['UserController@change', $user->id]]) }} {{ Form::close() }}
Form::selectはlistsメソッドを使えば一行で書ける。コントローラ側 $lists = Movie::lists('title', 'id');ビュー側 {{ Form::select('director_id', $lists, null, ['data-rel'=>'chosen']) }}もしくはコンフィグファイルを使ってもよい。コンフィグファイ…
@includeを使えば簡単に結合できる。 <div class="form-controll"> @include('title.form') @include('title.button) </div>この場合、titleフォルダのform.blade.phpとbutton.blade.phpが読み込まれる。
Blade側でFormをModelと一致させる。 {{ Form::model($title,[]) }}そうするとController側でこういう書き方ができて楽。 $title = Title::find($id); $inputs = Input::all(); $title->update($inputs);
HTML::styleでIDを指定したい場合は例によって引数で渡す。 {{ HTML::style('ashley/css/colors.css',['id'=>'colors']) }}<link id="colors" media="all" type="text/css" rel="stylesheet" href="http://localhost/ashley/css/colors.css"></link>
例えば「無題のドキュメント」というタイトルをつけたいとして…。 方法1:Blade上にタイトルを書く 以下のようにBladeを設定する。 @extends('layout.default') @section('title') 無題のドキュメント @stop @section('content') <p>Hello World.</p> @stop layout…
Formのinputにhidden属性を持たせたいときは、Form::hiddenを使う。 {{ Form::hidden('phone', '090-555-12345') }以下のように出力される。 <input name="phone" type="hidden" value="090-555-12345">
Laravelのページネーションは便利なんだけど、デフォルトだと以下みたいになる。 私の環境ではbootstrapテーマのbootswatchを使っているので、それに会わせたい。bootswatchの場合、ulタグのclassが「pagination」になるのだ。 ちょうどphp - How to impleme…
タグをMySQL上で改行区切りのテキストで記録した。どこかでテキストを改行で分割する必要がある。だからblade側でexplodeした。フレームワークって便利だねぇ。 @foreach (explode("\n",$title->tags) as $tag)<li><a href="{{ URL::to('tag/' . $tag) }}">{{ $tag }}</a></li>@endforeach
フレームワーク初心者の私にとっては、Blade上でメソッドが動くだけで驚くものがある。例:ユーザ名を表示する {{ Auth::user()->username }} 例:blade構文に組み込む @if (Auth::user()->username === 'admin') <p>You Are Administrator.</p> @endif
Laravelで、BootstrapテーマのBootswatchとjquery-uiを同時に使うためには、最後にjquery-uiを読み込ます必要があるみたい。以下みたいに。jquery-uiを上のほうに持っていったら動かなかった。 {{ HTML::style('bootstrap/css/bootstrap.css') }} {{ HTML::s…
LaravelのForm::selectにclass要素を持たせたいときは、4番目の引数に配列として渡す。3番目は初期値になる。Form::textareaとちょっと違うので注意。 {{ Form::select('size', ['0' => '0', '1' => '1'],null,['class'=>'form-control', 'id'=>'select']) }}
LaravelのForm::textareaやForm::textにclass要素を持たせたいときは、3番目の引数に配列として渡す。ちなみに2番目は初期値になる。ここでは適当にnullでも渡しておく。 {{ Form::textarea('description',null,['class'=>'form-control','rows'=3]) }} {{ F…
blade上でforeachの多重ループをしたいときは………そのまんま多重にすればよい。 @foreach ($titles as $title) $title['name'] @foreach ($title->tags as $tag) {{ $tag }} @endforeach @endforeach 上記の場合だと、「$title->tags」が配列である必要がある…
blade上でHTMLタグにclassを設定したいときは、配列として渡す。例えばLaravelのFormにclass「form-horizontal」を渡すときは以下のようになる。 {{ Form::open(array('route' => array('hello.store'), 'class' => 'form-horizontal')) }}
blade上で変数がnullだと「Undefined variable: 変数名」というエラーになる。これを回避するためにはissetで変数の中身を確認する。 @if (isset( $message )) $message @else Hello @endif ||
ようやくindexページまで来れた。今回はBlade上でtitleタグをつけるけど、コントローラー上でタグをつける方法もある。「app\views\index.blade.php」を作った。 @extends('layout.default') @section('title') Index Page @stop @section('content') Hello …