Accordion
API reference › Bootstrap 6 › Accordion
Renders a Bootstrap accordion built on native <details> and <summary> elements.
See also: https://getbootstrap.com/docs/6.0/components/accordion/.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$autoCloseItems | bool | Whether opening an item closes the others, through a shared name attribute on every <details> element. Default: true. | Accordion |
$autoIdPrefix static | string | The prefix to the automatically generated widget IDs. Default: 'w'. | yii\ |
$behaviors read-only | array<yii\<static>> | List of behaviors attached to this component. | yii\ |
$clientEvents | array<string, yii\| | Event handlers attached to the widget element, as event name => JavaScript handler source. Default: []. | BootstrapWidgetTrait |
$clientOptions | array<string, | Options passed to the plugin constructor, or false to skip the JavaScript initialization. Default: []. | BootstrapWidgetTrait |
$encodeLabels | bool | Whether to HTML-encode the item labels; the item encode option takes precedence. Default: true. | Accordion |
$flush | bool | Whether to remove borders and rounded corners (.accordion-flush). Default: false. | Accordion |
$gap | bool | Whether to separate the items (.accordion-gap). Default: false. | Accordion |
$icon | string|Stringable| | Markup rendered after each item label (not encoded). Default: null. | Accordion |
$id | string | Id of the widget. | yii\ |
$items | array<array-key, yii2\|Stringable> | Accordion items: AccordionItem instances, arrays converted through AccordionItem::fromArray(), or label => content pairs. Default: []. | Accordion |
$options | array<string, | HTML attributes of the widget container tag. Default: []. | Widget |
$small | bool | Whether to render the compact variant (.accordion-sm). Default: false. | Accordion |
$view | yii\ | The view object that can be used to render views or view files. | yii\ |
$viewPath read-only | string | The directory containing the view files for this widget. | yii\ |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__clone() | This method is called after the object is created by cloning an existing one. | yii\ |
__get() | Returns the value of a component property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets the value of a component property. | yii\ |
__unset() | Sets a component property to be null. | yii\ |
addAttributes() | Adds a set of HTML attributes; attributes already set with the same name are replaced. | AttributesTrait |
addClass() | Adds one or more CSS classes to the existing classes; duplicated classes are collapsed. | AttributesTrait |
addCssStyle() | Adds CSS style properties to the style attribute. | AttributesTrait |
afterRun() | This method is invoked right after a widget is executed. | yii\ |
attachBehavior() | Attaches a behavior to this component. | yii\ |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\ |
attribute() | Sets an HTML attribute value. | AttributesTrait |
beforeRun() | This method is invoked right before the widget is executed. | yii\ |
begin() static | Begins a widget. | yii\ |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
class() | Replaces the existing CSS classes with the specified ones. | AttributesTrait |
className() static | Returns the fully qualified name of this class. | yii\ |
detachBehavior() | Detaches a behavior from the component. | yii\ |
detachBehaviors() | Detaches all behaviors from the component. | yii\ |
end() static | Ends a widget. | yii\ |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\ |
getBehavior() | Returns the named behavior object. | yii\ |
getBehaviors() | Returns all behaviors attached to this component. | yii\ |
getId() | Returns the ID of the widget. | yii\ |
getView() | Returns the view object that can be used to render views or view files. | yii\ |
getViewPath() | Returns the directory containing the view files for this widget. | yii\ |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\ |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\ |
init() | Initializes the object. | yii\ |
off() | Detaches an existing event handler from this component. | yii\ |
on() | Attaches an event handler to an event. | yii\ |
render() | Renders a view. | yii\ |
renderFile() | Renders a view file. | yii\ |
run() | Accordion | |
setId() | Sets the ID of the widget. | yii\ |
setView() | Sets the view object to be used by this widget. | yii\ |
trigger() | Triggers an event. | yii\ |
widget() static | Creates a widget instance and runs it. | yii\ |
pluginInitialization() protected | Returns the JavaScript that initializes a plugin with its normalized constructor options. | BootstrapWidgetTrait |
registerClientEvents() protected | Registers the JavaScript event handlers listed in $clientEvents at View::POS_END. | BootstrapWidgetTrait |
registerPlugin() protected | Registers the plugin asset, the plugin initialization when needed, and the $clientEvents. | BootstrapWidgetTrait |
renderItem() protected | Renders a single <details> item. | Accordion |
renderItems() protected | Renders the visible items separated by line breaks. | Accordion |
Events
Section titled “Events”| Event | Type | Description | Defined by |
|---|---|---|---|
EVENT_INIT | yii\ | An event that is triggered when the widget is initialized via init(). Event name: 'init'. Available since 2.0.11. | yii\ |
EVENT_BEFORE_RUN | yii\ | An event raised right before executing a widget. Event name: 'beforeRun'. Available since 2.0.11. | yii\ |
EVENT_AFTER_RUN | yii\ | An event raised right after executing a widget. Event name: 'afterRun'. Available since 2.0.11. | yii\ |
Property details
Section titled “Property details”$icon
Section titled “$icon ”public string|Stringable|null $icon = nullMarkup rendered after each item label (not encoded).
null renders the IconSet::$accordionChevron default, an empty string omits the icon, and a
\UIAwesome\Html\Svg\Svg instance receives the accordion-icon class automatically.
$items
Section titled “$items ”public array<array-key, yii2\extensions\bootstrap6\item\AccordionItem|array<string, mixed>|string|Stringable> $items = []Accordion items: AccordionItem instances, arrays converted through AccordionItem::fromArray(), or
label => content pairs.
An array item accepts the following options:
label:string|Stringable, required, content of the<summary>element.content:string|Stringable, required, content of the.accordion-bodyelement (not encoded).open:bool, whether the item is initially expanded.encode:bool, whether to HTML-encode the label.options:array, HTML attributes of the<details>element.headerOptions:array, HTML attributes of the<summary>element.bodyOptions:array, HTML attributes of the.accordion-bodyelement.visible:bool, whether to render the item (defaulttrue).
Method details
Section titled “Method details”run()
Section titled “run() ”public function run(): stringReturns
string
Throws
yii\base\InvalidConfigException: if an item lacks itslabelorcontentoption.
renderItem()
Section titled “renderItem() ”protected function renderItem(yii2\extensions\bootstrap6\item\AccordionItem $item): stringRenders a single <details> item.
Parameters
| Parameter | Type | Description |
|---|---|---|
$item | yii2\ |
Returns
string
renderItems()
Section titled “renderItems() ”protected function renderItems(): stringRenders the visible items separated by line breaks.
Returns
string
Throws
yii\base\InvalidConfigException: if an item lacks itslabelorcontentoption.