Class yii\bootstrap\Collapse
Inheritance | yii\bootstrap\Collapse » yii\bootstrap\Widget » yii\base\Widget |
---|---|
Uses Traits | yii\bootstrap\BootstrapWidgetTrait |
Available since version | 2.0 |
Collapse renders an accordion bootstrap javascript component.
For example:
echo Collapse::widget([
'items' => [
// equivalent to the above
[
'label' => 'Collapsible Group Item #1',
'content' => 'Anim pariatur cliche...',
// open its content by default
'contentOptions' => ['class' => 'in']
],
// another group item
[
'label' => 'Collapsible Group Item #1',
'content' => 'Anim pariatur cliche...',
'contentOptions' => [...],
'options' => [...],
],
// if you want to swap out .panel-body with .list-group, you may use the following
[
'label' => 'Collapsible Group Item #1',
'content' => [
'Anim pariatur cliche...',
'Anim pariatur cliche...'
],
'contentOptions' => [...],
'options' => [...],
'footer' => 'Footer' // the footer label in list-group
],
]
]);
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$autoCloseItems | boolean | Whether to close other items if an item is opened. | yii\bootstrap\Collapse |
$clientEvents | array | The event handlers for the underlying Bootstrap JS plugin. | yii\bootstrap\BootstrapWidgetTrait |
$clientOptions | array | The options for the underlying Bootstrap JS plugin. | yii\bootstrap\BootstrapWidgetTrait |
$encodeLabels | boolean | Whether the labels for header items should be HTML-encoded. | yii\bootstrap\Collapse |
$itemToggleOptions | string | The HTML options for the item toggle tag. | yii\bootstrap\Collapse |
$items | array | List of groups in the collapse widget. | yii\bootstrap\Collapse |
$options | array | The HTML attributes for the widget container tag. | yii\bootstrap\Widget |
Public Methods
Method | Description | Defined By |
---|---|---|
getView() | yii\bootstrap\BootstrapWidgetTrait | |
init() | Initializes the widget. | yii\bootstrap\Collapse |
renderItem() | Renders a single collapsible item group | yii\bootstrap\Collapse |
renderItems() | Renders collapsible items as specified on $items. | yii\bootstrap\Collapse |
run() | Renders the widget. | yii\bootstrap\Collapse |
Protected Methods
Method | Description | Defined By |
---|---|---|
registerClientEvents() | Registers JS event handlers that are listed in $clientEvents. | yii\bootstrap\BootstrapWidgetTrait |
registerPlugin() | Registers a specific Bootstrap plugin and the related events | yii\bootstrap\BootstrapWidgetTrait |
Property Details
Whether to close other items if an item is opened. Defaults to true
which causes an
accordion effect. Set this to false
to allow keeping multiple items open at once.
Whether the labels for header items should be HTML-encoded.
The HTML options for the item toggle tag. Key 'tag' might be used here for the tag name specification. For example:
[
'tag' => 'div',
'class' => 'custom-toggle',
]
List of groups in the collapse widget. Each array element represents a single group with the following structure:
- label: string, required, the group header label.
- encode: bool, optional, whether this label should be HTML-encoded. This param will override
global
$this->encodeLabels
param. - content: array|string|object, required, the content (HTML) of the group
- options: array, optional, the HTML attributes of the group
- contentOptions: optional, the HTML attributes of the group's content
Since version 2.0.7 you may also specify this property as key-value pairs, where the key refers to the
label
and the value refers to content
. If value is a string it is interpreted as label. If it is
an array, it is interpreted as explained above.
For example:
echo Collapse::widget([
'items' => [
'Introduction' => 'This is the first collapsable menu',
'Second panel' => [
'content' => 'This is the second collapsable menu',
],
[
'label' => 'Third panel',
'content' => 'This is the third collapsable menu',
],
]
])
Method Details
Initializes the widget.
public void init ( ) |
Renders a single collapsible item group
public string renderItem ( $header, $item, $index ) | ||
$header | string | A label of the item group $items |
$item | array | A single item from $items |
$index | integer | The item index as each item group content must have an id |
return | string | The rendering result |
---|---|---|
throws | \yii\base\InvalidConfigException |
Renders collapsible items as specified on $items.
public string renderItems ( ) | ||
return | string | The rendering result |
---|---|---|
throws | \yii\base\InvalidConfigException | if label isn't specified |
Renders the widget.
public void run ( ) |