カスタムモジュールのカスタムブロックのレンダー配列を使用して、順序付けられていないリストを作成しようとしています。
Divでラップしたい場合は、常に「コンテナー」タイプを使用できます。そのようです
$content = [
'container' => [
'#type' => 'container',
'#attributes' => [
'class' => ['container'],
],
'item 1' => [
'#type' => 'html_tag',
'#tag' => 'p',
'#value' => 'Item 1',
],
'item 2' => [
'#type' => 'html_tag',
'#tag' => 'p',
'#value' => 'Item 2',
],
],
];
しかし、私はそのような無秩序なリストを使用できるようにしたいのですが
$content = [
'container' => [
'#type' => 'html_tag',
'#attributes' => [
'class' => ['container'],
],
'#tag' => 'ul',
'item 1' => [
'#type' => 'html_tag',
'#tag' => 'li',
'#value' => 'Item 1',
],
'item 2' => [
'#type' => 'html_tag',
'#tag' => 'li',
'#value' => 'Item 2',
],
],
];
私が作りたいのは
<ul class="container">
<li>Item 1</li>
<li>Item 2</li>
</ul>
しかし代わりにそれは作り出します
<ul class="container"></ul>
<li>Item 1</li>
<li>Item 2</li>
レンダー配列を使用して順序付けられていないリストを作成する方法はありますか?
テーマ「item_list」を使用します。
$content = [
'#theme' => 'item_list',
'#list_type' => 'ul',
'#title' => 'My List',
'#items' => ['item 1', 'item 2'],
'#attributes' => ['class' => 'mylist'],
'#wrapper_attributes' => ['class' => 'container'],
];
Wrapper_attributesはすべてのテーマで使用されるわけではありません。コアでは、これはclassy
とbartik
で、上品に基づいています。