Tabs
API reference › Bootstrap 6 › Tabs
Renders a nav of tab buttons and the matching .tab-pane panels for the Bootstrap Tab plugin.
When no item is active, the first visible, enabled pane is activated. Tab plugin events bubble up to the nav
element, so $clientEvents such as shown.bs.tab can be attached to it.
See also: https://getbootstrap.com/docs/6.0/components/tab/.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$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. | Tabs |
$headerOptions | array<array-key, | HTML attributes of every .nav-item element, merged with the item headerOptions. Default: []. | Tabs |
$id | string | Id of the widget. | yii\ |
$itemOptions | array<array-key, | HTML attributes of every .tab-pane element, merged with the item options; the tag option sets the tag name (default div). Default: []. | Tabs |
$items | array<array-key,yii2\> | Tab items: TabItem instances, arrays converted through TabItem::fromArray(), or strings rendered as is. Default: []. | Tabs |
$linkOptions | array<array-key, | HTML attributes of every tab button, merged with the item linkOptions. Default: []. | Tabs |
$menuClass | class-string<Menu> | Class of the menu widget. Default: \. | Tabs |
$navType | yii2\| | Nav style, such as NavStyle::PILLS; NavStyle::PILLS_VERTICAL adds aria-orientation="vertical". Default: \. | Tabs |
$options | array<string, | HTML attributes of the widget container tag. Default: []. | Widget |
$renderTabContent | bool | Whether to render the .tab-content container; set it to false to render the panes yourself. Default: true. | Tabs |
$tabContentOptions | array<array-key, | HTML attributes of the .tab-content container. Default: []. | Tabs |
$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\ |
$panes protected | list<string> | Rendered tab panes. Default: []. | Tabs |
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 widget and validates $navType. | Tabs |
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() | Tabs | |
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 |
renderPanes() protected | Renders the .tab-content container with the panes, or an empty string when $renderTabContent is false. | Tabs |
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”$items
Section titled “$items ”public array<array-key, array<array-key, mixed>|string|yii2\extensions\bootstrap6\item\TabItem> $items = []Tab items: TabItem instances, arrays converted through TabItem::fromArray(), or strings rendered
as is.
An array item accepts the following options:
label:string|Stringable, required.content:string|Stringable, HTML content of the pane.active:bool, whether the tab and its pane, the link tab, or the menu toggle are active.disabled:bool, disables the tab button, the link tab, which loses itshref, or the menu toggle; a disabled toggle is never marked active.visible:bool, whether to render the tab and its pane. Defaults totrue.encode:bool, whether to HTML-encode the label.headerOptions:array, HTML attributes of the.nav-itemelement.linkOptions:array, HTML attributes of the tab button; itsiddefaults to{id}-tab{n}.options:array, HTML attributes of the pane; itsiddefaults to{id}-pane{n}.url:array|string, renders a plain link that takes theactiveanddisabledstate instead of a tab, processed byUrl::to().items:array, tab items rendered inside aMenu, with the same options; items with aurlkey, evennull, or without alabelareMenu::$items. A nested item with its ownitemsrenders as a.submenu(itsheaderOptionsapply to the.submenuwrapper), and an active nested tab activates the outer toggle only. The Bootstrap docs advise against menus in tabbed interfaces for accessibility reasons.
Method details
Section titled “Method details”init()
Section titled “init() ”public function init(): voidInitializes the widget and validates $navType.
Throws
yii\base\InvalidConfigException: if$navTypeis not aNavStylevalue.
run()
Section titled “run() ”public function run(): stringrenderPanes()
Section titled “renderPanes() ”protected function renderPanes(list<string> $panes): stringRenders the .tab-content container with the panes, or an empty string when $renderTabContent is
false.
Parameters
| Parameter | Type | Description |
|---|---|---|
$panes | list<string> | Rendered panes. |
Returns
string