kartik-v / yii2-bootstrap5-dropdown
Enhanced Bootstrap 4 dropdown widget for Yii2 with nested submenu support
Installs: 438 116
Dependents: 9
Suggesters: 2
Security: 0
Stars: 1
Watchers: 3
Forks: 1
Open Issues: 0
Type:yii2-extension
Requires
- kartik-v/yii2-krajee-base: >=2.0
Suggests
- yiisoft/yii2-bootstrap5: The Yii 2 Bootstrap 4 extension must be installed separately for this extension to work.
This package is auto-updated.
Last update: 2024-12-10 10:48:09 UTC
README
yii2-bootstrap5-dropdown
Enhanced Bootstrap 5.x dropdown widget for Yii2 framework with nested submenu support.
Docs & Demo
You can see detailed docs & demos and the API code documentation on usage of the extension.
Installation
The preferred way to install this extension is through composer.
NOTE: Check the composer.json for this extension's requirements and dependencies. Read this web tip /wiki on setting the
minimum-stability
settings for your application's composer.json.
Either run
$ php composer.phar require kartik-v/yii2-bootstrap5-dropdown "@dev"
or add
"kartik-v/yii2-bootstrap5-dropdown": "@dev"
to the require
section of your composer.json
file.
Usage
Dropdown Menu NavBar
use yii\bootstrap5\NavBar; use yii\bootstrap5\Nav; use kartik\bs4dropdown\Dropdown; use yii\helpers\Html; NavBar::begin(['brandLabel' => 'NavBar Test']); echo Nav::widget([ 'items' => [ ['label' => 'Home', 'url' => ['/site/index']], [ 'label' => 'Dropdown', 'items' => [ ['label' => 'Section 1', 'url' => '/'], ['label' => 'Section 2', 'url' => '#'], [ 'label' => 'Section 3', 'items' => [ ['label' => 'Section 3.1', 'url' => '/'], ['label' => 'Section 3.2', 'url' => '#'], [ 'label' => 'Section 3.3', 'items' => [ ['label' => 'Section 3.3.1', 'url' => '/'], ['label' => 'Section 3.3.2', 'url' => '#'], ], ], ], ], ], ], ['label' => 'About', 'url' => ['/site/about']], ], 'dropdownClass' => Dropdown::classname(), // use the custom dropdown 'options' => ['class' => 'navbar-nav mr-auto'], ]); NavBar::end(); <div class="dropdown"> <?php echo Html::button('Dropdown Button', [ 'id' => 'dropdownMenuButton', 'class' => 'btn btn-secondary dropdown-toggle' 'data-toggle' => 'dropdown', 'aria-haspopup' => 'true', 'aria-expanded' => 'false' ]); echo Dropdown::widget([ 'items' => [ ['label' => 'Section 1', 'url' => '/'], ['label' => 'Section 2', 'url' => '#'], [ 'label' => 'Section 3', 'items' => [ ['label' => 'Section 3.1', 'url' => '/'], ['label' => 'Section 3.2', 'url' => '#'], [ 'label' => 'Section 3.3', 'items' => [ ['label' => 'Section 3.3.1', 'url' => '/'], ['label' => 'Section 3.3.2', 'url' => '#'], ], ], ], ], ], 'options' => ['aria-labelledby' => 'dropdownMenuButton'] ]); ?> </div>
Dropdown Solo Button
<?php use \yii\helpers\Html; use kartik\bs4dropdown\Dropdown; ?> <div class="dropdown"> <?php echo Html::button('Dropdown Button', [ 'id' => 'dropdownMenuButton', 'class' => 'btn btn-secondary dropdown-toggle' 'data-toggle' => 'dropdown', 'aria-haspopup' => 'true', 'aria-expanded' => 'false' ]); echo Dropdown::widget([ 'items' => [ ['label' => 'Section 1', 'url' => '/'], ['label' => 'Section 2', 'url' => '#'], [ 'label' => 'Section 3', 'items' => [ ['label' => 'Section 3.1', 'url' => '/'], ['label' => 'Section 3.2', 'url' => '#'], [ 'label' => 'Section 3.3', 'items' => [ ['label' => 'Section 3.3.1', 'url' => '/'], ['label' => 'Section 3.3.2', 'url' => '#'], ], ], ], ], ], 'options' => ['aria-labelledby' => 'dropdownMenuButton'] ]); ?> </div>
Dropdown Button Alt (using ButtonDropdown)
use \yii\helpers\Html; use kartik\bs4dropdown\ButtonDropdown; echo ButtonDropdown::widget([ 'label' => 'Dropdown Button', 'dropdown' => [ 'items' => [ ['label' => 'Section 1', 'url' => '/'], ['label' => 'Section 2', 'url' => '#'], [ 'label' => 'Section 3', 'items' => [ ['label' => 'Section 3.1', 'url' => '/'], ['label' => 'Section 3.2', 'url' => '#'], [ 'label' => 'Section 3.3', 'items' => [ ['label' => 'Section 3.3.1', 'url' => '/'], ['label' => 'Section 3.3.2', 'url' => '#'], ], ], ], ], ], ], 'buttonOptions' => ['class'=>'btn-secondary'] ]);
License
yii2-bootstrap5-dropdown is released under the BSD-3-Clause License. See the bundled LICENSE.md
for details.