NavBar
API reference › Bootstrap 6 › NavBar
Renders a Bootstrap navbar whose content collapses into a drawer below the $expand breakpoint.
Content captured between begin() and end() is rendered inside the .drawer-body, or directly inside the
navbar when $drawerOptions is false.
See also: https://getbootstrap.com/docs/6.0/components/navbar/.
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\ |
$brandImage | string| | Source of the brand image, or false to render no image. Default: false. | NavBar |
$brandImageOptions | array<array-key, | HTML attributes of the brand image. Default: []. | NavBar |
$brandLabel | string|Stringable| | Brand text, or false to render no text. Default: false. | NavBar |
$brandOptions | array<array-key, | HTML attributes of the .navbar-brand element. Default: []. | NavBar |
$brandUrl | array<array-key, | Brand URL processed by Url::to(); false uses the application home URL and null renders a <span> instead of a link. Default: false. | NavBar |
$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 |
$drawerOptions | array<string, | Drawer configuration, or false to render the content inline without toggler and drawer. Default: []. | NavBar |
$encodeBrandLabel | bool | Whether to HTML-encode $brandLabel. Default: true. | NavBar |
$expand | yii2\| | Breakpoint from which the navbar expands and the drawer content renders inline; null always expands and false never expands. Default: \. | NavBar |
$id | string | Id of the widget. | yii\ |
$innerContainerOptions | array<array-key, | HTML attributes of the inner container; the class defaults to container-fluid. Default: []. | NavBar |
$options | array<string, | HTML attributes of the widget container tag. Default: []. | Widget |
$renderInnerContainer | bool | Whether to wrap the navbar content in the inner container. Default: true. | NavBar |
$screenReaderToggleText | string|Stringable| | Accessible label of the toggler, or null to use the translated Toggle navigation text. Default: null. | NavBar |
$togglerContent | string|Stringable | HTML content of the toggler. Default: '<span class="navbar-toggler-icon" aria-hidden="true"></span>'. | NavBar |
$togglerOptions | array<array-key, | HTML attributes of the toggler button. Default: []. | NavBar |
$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 |
addTogglerAttribute() | Sets an HTML attribute value of the toggler. | TogglerAttributesTrait |
addTogglerClass() | Adds one or more CSS classes to the existing toggler classes; duplicated classes are collapsed. | TogglerAttributesTrait |
addTogglerCssStyle() | Adds CSS style properties to the style attribute of the toggler. | TogglerAttributesTrait |
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, validates $expand, and starts capturing the content. | NavBar |
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() | Returns the complete navbar markup wrapping the captured content. | NavBar |
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 |
renderBrand() protected | Renders the .navbar-brand element, or an empty string when there is no brand image and no brand label. | NavBar |
renderDrawerBegin() protected | Renders the opening part of the drawer: the <dialog>, its header, and the opening .drawer-body tag. | NavBar |
renderToggler() protected | Renders the toggler button that opens the drawer. | NavBar |
togglerOptions() protected | Returns $togglerOptions by reference. | NavBar |
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”$drawerOptions
Section titled “$drawerOptions ”public array<string, mixed>|false $drawerOptions = []Drawer configuration, or false to render the content inline without toggler and drawer.
title:string, drawer title, HTML-encoded. Defaults to the translatedMenutext.placement:DrawerPlacement|string, side the drawer slides in from, validated when rendered. Defaults toDrawerPlacement::END.options:array, HTML attributes of the<dialog>element; itsiddefaults to{id}-drawer.bodyOptions:array, HTML attributes of the.drawer-bodyelement.
Method details
Section titled “Method details”init()
Section titled “init() ”public function init(): voidInitializes the widget, validates $expand, and starts capturing the content.
Throws
yii\base\InvalidConfigException: if$expandis astringthat is not aBreakpointvalue.
run()
Section titled “run() ”public function run(): stringReturns the complete navbar markup wrapping the captured content.
Returns
string
renderBrand()
Section titled “renderBrand() ”protected function renderBrand(): stringRenders the .navbar-brand element, or an empty string when there is no brand image and no brand label.
Returns
string
renderDrawerBegin()
Section titled “renderDrawerBegin() ”protected function renderDrawerBegin(): stringRenders the opening part of the drawer: the <dialog>, its header, and the opening .drawer-body tag.
Returns
string
renderToggler()
Section titled “renderToggler() ”protected function renderToggler(): stringRenders the toggler button that opens the drawer.
Returns
string
togglerOptions()
Section titled “togglerOptions() ”protected function togglerOptions(): mixed[]Returns $togglerOptions by reference.
Returns
mixed[]