Class yii\bootstrap\Dropdown
Inheritance | yii\bootstrap\Dropdown » yii\bootstrap\Widget » yii\base\Widget » yii\base\Component » yii\base\BaseObject |
---|---|
Implements | yii\base\Configurable, yii\base\ViewContextInterface |
Uses Traits | yii\bootstrap\BootstrapWidgetTrait |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2-bootstrap/blob/master/Dropdown.php |
Dropdown renders a Bootstrap dropdown menu component.
For example,
<div class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle">Label <b class="caret"></b></a>
<?php
echo Dropdown::widget([
'items' => [
['label' => 'DropdownA', 'url' => '/'],
['label' => 'DropdownB', 'url' => '#'],
],
]);
?>
</div>
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$autoIdPrefix | string | The prefix to the automatically generated widget IDs. | yii\base\Widget |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$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 |
$counter | integer | A counter used to generate $id for widgets. | yii\base\Widget |
$encodeLabels | boolean | Whether the labels for header items should be HTML-encoded. | yii\bootstrap\Dropdown |
$id | string | ID of the widget. | yii\base\Widget |
$items | array | List of menu items in the dropdown. | yii\bootstrap\Dropdown |
$options | array | The HTML attributes for the widget container tag. | yii\bootstrap\Widget |
$stack | yii\base\Widget[] | The widgets that are currently being rendered (not ended). | yii\base\Widget |
$submenuOptions | array|null | The HTML attributes for sub-menu container tags. | yii\bootstrap\Dropdown |
$view | yii\web\View | The view object that can be used to render views or view files. | yii\bootstrap\BootstrapWidgetTrait |
$viewPath | string | The directory containing the view files for this widget. | yii\base\Widget |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\BaseObject |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__unset() | Sets a component property to be null. | yii\base\Component |
afterRun() | This method is invoked right after a widget is executed. | yii\base\Widget |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
beforeRun() | This method is invoked right before the widget is executed. | yii\base\Widget |
begin() | Begins a widget. | yii\base\Widget |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
end() | Ends a widget. | yii\base\Widget |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
getId() | Returns the ID of the widget. | yii\base\Widget |
getView() | yii\bootstrap\BootstrapWidgetTrait | |
getViewPath() | Returns the directory containing the view files for this widget. | yii\base\Widget |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
init() | Initializes the widget. | yii\bootstrap\Dropdown |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
render() | Renders a view. | yii\base\Widget |
renderFile() | Renders a view file. | yii\base\Widget |
run() | Renders the widget. | yii\bootstrap\Dropdown |
setId() | Sets the ID of the widget. | yii\base\Widget |
setView() | Sets the view object to be used by this widget. | yii\base\Widget |
trigger() | Triggers an event. | yii\base\Component |
widget() | Creates a widget instance and runs it. | yii\base\Widget |
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 |
renderItems() | Renders menu items. | yii\bootstrap\Dropdown |
Events
Event | Type | Description | Defined By |
---|---|---|---|
EVENT_AFTER_RUN | yii\base\WidgetEvent | An event raised right after executing a widget. (available since version 2.0.11) | yii\base\Widget |
EVENT_BEFORE_RUN | yii\base\WidgetEvent | An event raised right before executing a widget. (available since version 2.0.11) | yii\base\Widget |
EVENT_INIT | yii\base\Event | An event that is triggered when the widget is initialized via init(). (available since version 2.0.11) | yii\base\Widget |
Property Details
Whether the labels for header items should be HTML-encoded.
List of menu items in the dropdown. Each array element can be either an HTML string, or an array representing a single menu with the following structure:
- label: string, required, the label of the item link.
- encode: bool, optional, whether to HTML-encode item label.
- url: string|array, optional, the URL of the item link. This will be processed by yii\helpers\Url::to(). If not set, the item will be treated as a menu header when the item has no sub-menu.
- visible: bool, optional, whether this menu item is visible. Defaults to true.
- linkOptions: array, optional, the HTML attributes of the item link.
- options: array, optional, the HTML attributes of the item.
- items: array, optional, the submenu items. The structure is the same as this property. Note that Bootstrap doesn't support dropdown submenu. You have to add your own CSS styles to support it.
- submenuOptions: array, optional, the HTML attributes for sub-menu container tag. If specified it will be merged with $submenuOptions.
To insert divider use <li role="presentation" class="divider"></li>
.
The HTML attributes for sub-menu container tags. If not set - $options value will be used for it.
Method Details
Initializes the widget.
If you override this method, make sure you call the parent implementation first.
public void init ( ) |
Renders menu items.
protected string renderItems ( $items, $options = [] ) | ||
$items | array | The menu items to be rendered |
$options | array | The container HTML attributes |
return | string | The rendering result. |
---|---|---|
throws | yii\base\InvalidConfigException | if the label option is not specified in one of the items. |
Renders the widget.
public void run ( ) |