From 87b6374376087b03b1556821c770ec6fbe246b31 Mon Sep 17 00:00:00 2001 From: Qiang Xue Date: Sun, 16 Nov 2014 12:57:10 -0500 Subject: [PATCH] Fixes #4450: Added `yii\bootstrap\Nav::renderDropdown()` --- CHANGELOG.md | 1 + Nav.php | 24 ++++++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 298810e..6f481b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Yii Framework 2 bootstrap extension Change Log - Bug #5570: `yii\bootstrap\Tabs` would throw an exception if `content` is not set for one of its `items` (RomeroMsk) - Enh #4181: Added `yii\bootstrap\Modal::$headerOptions` and `yii\bootstrap\Modal::$footerOptions` (tuxoff, samdark) +- Enh #4450: Added `yii\bootstrap\Nav::renderDropdown()` (qiangxue) - Enh #5735: Added `yii\bootstrap\Tabs::renderTabContent` to support manually rendering tab contents (RomeroMsk) - Enh #5799: `yii\bootstrap\ButtonGroup::buttons` can take all options that are supported by `yii\bootstrap\Button` (aleksanderd) - Chg #5874: Upgraded Twitter Bootstrap to 3.3.x (samdark) diff --git a/Nav.php b/Nav.php index 29641a9..ab35ce0 100644 --- a/Nav.php +++ b/Nav.php @@ -171,12 +171,7 @@ class Nav extends Widget if ($this->activateItems) { $items = $this->isChildActive($items, $active); } - $items = Dropdown::widget([ - 'items' => $items, - 'encodeLabels' => $this->encodeLabels, - 'clientOptions' => false, - 'view' => $this->getView(), - ]); + $items = $this->renderDropdown($items); } } @@ -188,6 +183,23 @@ class Nav extends Widget } /** + * Renders the given items as a dropdown. + * This method is called to create sub-menus. + * @param array $items the given items. Please refer to [[Dropdown::items]] for the array structure. + * @return string the rendering result. + * @since 2.0.1 + */ + protected function renderDropdown($items) + { + return Dropdown::widget([ + 'items' => $items, + 'encodeLabels' => $this->encodeLabels, + 'clientOptions' => false, + 'view' => $this->getView(), + ]); + } + + /** * Check to see if a child item is active optionally activating the parent. * @param array $items @see items * @param boolean $active should the parent be active too