順序なしリストを生成する
html
悩み事
Bladeテンプレートで順序なしリストが欲しい
解決方法
HTML::ul()
メソッドを利用します
メソッドにアイテムのリストを渡します
連想配列を渡した場合、配列の値が利用されます
{{HTML::ul(['a', 'b', 'c'])}}
単純なリストが生成されます
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
要素が配列の場合は、サブリストが生成されます
$list = [
'one',
'two',
[
'sub-one',
'sub-two',
],
];
return \View::make('thebladeview', ['list' => $list]);
Bladeテンプレートに以下のコードがある場合:
{{HTML::ul($list)}}
次の様に生成されます
<ul>
<li>one</li>
<li>two</li>
<li>
<ul>
<li>sub-one</li>
<li>sub-two</li>
</ul>
</li>
</ul>
サブリストにタイトルを持たせる場合は、
連想配列の配列キーを利用します
$list = [
'one',
'two',
'three' => [
'sub-one',
'sub-two',
],
];
return \View::make('thebladeview', ['list' => $list]);
Bladeテンプレートに以下のコードがある場合:
{{HTML::ul($list)}}
次の様に生成されます
<ul>
<li>one</li>
<li>two</li>
<li>three
<ul>
<li>sub-one</li>
<li>sub-two</li>
</ul>
</li>
</ul>
リストに属性を追加する場合は、HTML::ul()
メソッドの第二引数に配列で指定します
{{HTML::ul(['a', 'b'], ['class' => 'mylist'])}}
属性class
が追加されます
<ul class="mylist">
<li>a</li>
<li>b</li>
</ul>
アドバイス
- リストの値はエスケープされます
- 第二引数
$attributes
, トップレベルのリストに適用されますが、サブリストを持っている場合、それらには属性が含まれません
Author:Chuck Heintzelman
Editor and Translator:Yuuki Takezawa
Category
- App 29
- Artisan 28
- Auth 36
- Basic Development 4
- Blade 23
- Cache 25
- Config 5
- Configuration 12
- Controller 3
- Cookie 2
- Core Extension 7
- Crypt 6
- DB 4
- Database Configuration 3
- Eloquent 0
- File 26
- Form 30
- Hash 1
- Help 2
- Html 17
- Installation 13
- Lang 6
- Middleware 2
- Paginator 1
- Route 1
- Session 0
- Solution 2
- Service Provider 1
- Testing 2
- Packages by 3rd Parties 0