Drawer
API reference › Bootstrap 6 › Drawer
Renders a Bootstrap drawer on the native <dialog> element, optionally preceded by a toggle button.
Content captured between begin() and end() is rendered inside the .drawer-body element.
See also: https://getbootstrap.com/docs/6.0/components/drawer/.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$autoIdPrefix static | string | The prefix to the automatically generated widget IDs. Default: 'w'. | yii\ |
$backdrop | bool| | Backdrop behavior: true closes the drawer on backdrop click, false hides the backdrop, and static keeps the drawer open on backdrop click. Default: true. | Drawer |
$behaviors read-only | array<yii\<static>> | List of behaviors attached to this component. | yii\ |
$bodyOptions | array<string, | HTML attributes of the .drawer-body element. Default: []. | Drawer |
$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 |
$closeButton | array<string, | HTML attributes of the close button, see Html::closeButton(), or false to omit the button. Default: []. | Drawer |
$encodeTitle | bool | Whether to HTML-encode $title. Default: true. | Drawer |
$footer | string|Stringable| | Content of the .drawer-footer element (not encoded), or null to omit the footer. Default: null. | Drawer |
$footerOptions | array<string, | HTML attributes of the .drawer-footer element. Default: []. | Drawer |
$fullscreen | bool | Whether the drawer covers the entire viewport (.drawer-fullscreen); replaces the $placement class. Default: false. | Drawer |
$headerOptions | array<string, | HTML attributes of the .drawer-header element. Default: []. | Drawer |
$id | string | Id of the widget. | yii\ |
$keyboard | bool | Whether the Escape key closes the drawer. Default: true. | Drawer |
$options | array<string, | HTML attributes of the widget container tag. Default: []. | Widget |
$placement | yii2\| | Placement class, for example DrawerPlacement::END, or null to omit it. Default: \. | Drawer |
$responsive | yii2\| | Breakpoint from which the content renders inline instead of in a drawer (md renders md:drawer), or null. Default: null. | Drawer |
$scroll | bool | Whether the page body keeps scrolling while the drawer is open. Default: false. | Drawer |
$sheet | bool | Whether the drawer renders flush against the viewport edge (.drawer-sheet). Default: false. | Drawer |
$title | string|Stringable| | Content of the .drawer-title element, or null to omit the title. Default: null. | Drawer |
$titleOptions | array<string, | HTML attributes of the .drawer-title element; the tag option sets the tag name (default h5). Default: []. | Drawer |
$toggleButton | array<string, | HTML attributes of the toggle button rendered before the drawer, or false to omit the button. Default: false. | Drawer |
$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 its options, and starts capturing the content. | Drawer |
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() | Drawer | |
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\ |
drawerOptions() protected | Returns the HTML attributes of the <dialog> element. | Drawer |
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 |
renderFooter() protected | Renders the .drawer-footer element prefixed with a line break, or an empty string without $footer. | Drawer |
renderHeader() protected | Renders the .drawer-header element, or an empty string when there is neither a title nor a close button. | Drawer |
renderToggleButton() protected | Renders the toggle button, or an empty string when $toggleButton is false. | Drawer |
togglerOptions() protected | Returns $toggleButton by reference, replacing false with an empty array to enable the toggle button. | Drawer |
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”$title
Section titled “$title ”public string|Stringable|null $title = nullContent of the .drawer-title element, or null to omit the title.
The drawer references the title by aria-labelledby unless $options already sets aria-label or
aria-labelledby, either flat (aria-label) or nested (aria => ['label' => ...]).
$toggleButton
Section titled “$toggleButton ”public array<string, mixed>|false $toggleButton = falseHTML attributes of the toggle button rendered before the drawer, or false to omit the button.
The label option sets the content (default translated Show), encode controls its encoding (default
true), and tag sets the tag name (default button).
Method details
Section titled “Method details”init()
Section titled “init() ”public function init(): voidInitializes the widget, validates its options, and starts capturing the content.
Throws
yii\base\InvalidConfigException: if$backdrop,$placement, or$responsivehas an unsupported value.
drawerOptions()
Section titled “drawerOptions() ”protected function drawerOptions(): mixed[]Returns the HTML attributes of the <dialog> element.
Returns
mixed[]
renderFooter()
Section titled “renderFooter() ”protected function renderFooter(): stringRenders the .drawer-footer element prefixed with a line break, or an empty string without $footer.
Returns
string
renderHeader()
Section titled “renderHeader() ”protected function renderHeader(): stringRenders the .drawer-header element, or an empty string when there is neither a title nor a close button.
Returns
string
renderToggleButton()
Section titled “renderToggleButton() ”protected function renderToggleButton(): stringRenders the toggle button, or an empty string when $toggleButton is false.
Returns
string
togglerOptions()
Section titled “togglerOptions() ”protected function togglerOptions(): array<string, mixed>Returns $toggleButton by reference, replacing false with an empty array to enable the toggle button.
Returns
array<string, mixed>