Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
04b2936d
Commit
04b2936d
authored
Feb 15, 2014
by
Qiang Xue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixes #1881: Improved `yii\bootstrap\NavBar` with `containerOptions`,…
Fixes #1881: Improved `yii\bootstrap\NavBar` with `containerOptions`, `innerContainerOptions` and `renderInnerContainer`
parent
54ea78d9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
17 deletions
+48
-17
CHANGELOG.md
extensions/bootstrap/CHANGELOG.md
+1
-0
NavBar.php
extensions/bootstrap/NavBar.php
+46
-17
CHANGELOG.md
framework/CHANGELOG.md
+1
-0
No files found.
extensions/bootstrap/CHANGELOG.md
View file @
04b2936d
...
@@ -10,6 +10,7 @@ Yii Framework 2 bootstrap extension Change Log
...
@@ -10,6 +10,7 @@ Yii Framework 2 bootstrap extension Change Log
-
Enh #1553: Only add navbar-default class to NavBar when no other class is specified (cebe)
-
Enh #1553: Only add navbar-default class to NavBar when no other class is specified (cebe)
-
Enh #1562: Added
`yii\bootstrap\Tabs::linkOptions`
(kartik-v)
-
Enh #1562: Added
`yii\bootstrap\Tabs::linkOptions`
(kartik-v)
-
Enh #1601: Added support for tagName and encodeLabel parameters in ButtonDropdown (omnilight)
-
Enh #1601: Added support for tagName and encodeLabel parameters in ButtonDropdown (omnilight)
-
Enh #1881: Improved
`yii\bootstrap\NavBar`
with
`containerOptions`
,
`innerContainerOptions`
and
`renderInnerContainer`
(creocoder)
-
Chg #1459: Update Collapse to use bootstrap 3 classes (tonydspaniard)
-
Chg #1459: Update Collapse to use bootstrap 3 classes (tonydspaniard)
-
Chg #1820: Update Progress to use bootstrap 3 markup (samdark)
-
Chg #1820: Update Progress to use bootstrap 3 markup (samdark)
...
...
extensions/bootstrap/NavBar.php
View file @
04b2936d
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
namespace
yii\bootstrap
;
namespace
yii\bootstrap
;
use
Yii
;
use
Yii
;
use
yii\helpers\ArrayHelper
;
use
yii\helpers\Html
;
use
yii\helpers\Html
;
/**
/**
...
@@ -33,11 +34,24 @@ use yii\helpers\Html;
...
@@ -33,11 +34,24 @@ use yii\helpers\Html;
*
*
* @see http://getbootstrap.com/components/#navbar
* @see http://getbootstrap.com/components/#navbar
* @author Antonio Ramirez <amigo.cobos@gmail.com>
* @author Antonio Ramirez <amigo.cobos@gmail.com>
* @author Alexander Kochetov <creocoder@gmail.com>
* @since 2.0
* @since 2.0
*/
*/
class
NavBar
extends
Widget
class
NavBar
extends
Widget
{
{
/**
/**
* @var array the HTML attributes for the widget container tag. The following special options are recognized:
*
* - tag: string, defaults to "nav", the name of the container tag
*/
public
$options
=
[];
/**
* @var array the HTML attributes for the container tag. The following special options are recognized:
*
* - tag: string, defaults to "div", the name of the container tag
*/
public
$containerOptions
=
[];
/**
* @var string the text of the brand. Note that this is not HTML-encoded.
* @var string the text of the brand. Note that this is not HTML-encoded.
* @see http://getbootstrap.com/components/#navbar
* @see http://getbootstrap.com/components/#navbar
*/
*/
...
@@ -56,10 +70,14 @@ class NavBar extends Widget
...
@@ -56,10 +70,14 @@ class NavBar extends Widget
*/
*/
public
$screenReaderToggleText
=
'Toggle navigation'
;
public
$screenReaderToggleText
=
'Toggle navigation'
;
/**
/**
* @var bool whether the navbar content should be included in a `container` div which adds left and right padding.
* @var bool whether the navbar content should be included in an inner div container which by default
* Set this to false for a 100% width navbar.
* adds left and right padding. Set this to false for a 100% width navbar.
*/
public
$renderInnerContainer
=
true
;
/**
* @var array the HTML attributes of the inner container.
*/
*/
public
$
padded
=
true
;
public
$
innerContainerOptions
=
[]
;
/**
/**
* Initializes the widget.
* Initializes the widget.
...
@@ -69,27 +87,37 @@ class NavBar extends Widget
...
@@ -69,27 +87,37 @@ class NavBar extends Widget
parent
::
init
();
parent
::
init
();
$this
->
clientOptions
=
false
;
$this
->
clientOptions
=
false
;
Html
::
addCssClass
(
$this
->
options
,
'navbar'
);
Html
::
addCssClass
(
$this
->
options
,
'navbar'
);
if
(
$this
->
options
[
'class'
]
==
'navbar'
)
{
if
(
$this
->
options
[
'class'
]
==
=
'navbar'
)
{
Html
::
addCssClass
(
$this
->
options
,
'navbar-default'
);
Html
::
addCssClass
(
$this
->
options
,
'navbar-default'
);
}
}
Html
::
addCssClass
(
$this
->
brandOptions
,
'navbar-brand'
);
Html
::
addCssClass
(
$this
->
brandOptions
,
'navbar-brand'
);
if
(
empty
(
$this
->
options
[
'role'
]))
{
if
(
empty
(
$this
->
options
[
'role'
]))
{
$this
->
options
[
'role'
]
=
'navigation'
;
$this
->
options
[
'role'
]
=
'navigation'
;
}
}
$options
=
$this
->
options
;
echo
Html
::
beginTag
(
'nav'
,
$this
->
options
);
$tag
=
ArrayHelper
::
remove
(
$options
,
'tag'
,
'nav'
);
if
(
$this
->
padded
)
{
echo
Html
::
beginTag
(
$tag
,
$options
);
echo
Html
::
beginTag
(
'div'
,
[
'class'
=>
'container'
]);
if
(
$this
->
renderInnerContainer
)
{
if
(
!
isset
(
$this
->
innerContainerOptions
[
'class'
]))
{
Html
::
addCssClass
(
$this
->
innerContainerOptions
,
'container'
);
}
echo
Html
::
beginTag
(
'div'
,
$this
->
innerContainerOptions
);
}
}
echo
Html
::
beginTag
(
'div'
,
[
'class'
=>
'navbar-header'
]);
echo
Html
::
beginTag
(
'div'
,
[
'class'
=>
'navbar-header'
]);
if
(
!
isset
(
$this
->
containerOptions
[
'id'
]))
{
$this
->
containerOptions
[
'id'
]
=
"
{
$this
->
options
[
'id'
]
}
-collapse"
;
}
echo
$this
->
renderToggleButton
();
echo
$this
->
renderToggleButton
();
if
(
$this
->
brandLabel
!==
null
)
{
if
(
$this
->
brandLabel
!==
null
)
{
Html
::
addCssClass
(
$this
->
brandOptions
,
'navbar-brand'
);
echo
Html
::
a
(
$this
->
brandLabel
,
$this
->
brandUrl
===
null
?
Yii
::
$app
->
homeUrl
:
$this
->
brandUrl
,
$this
->
brandOptions
);
echo
Html
::
a
(
$this
->
brandLabel
,
$this
->
brandUrl
===
null
?
Yii
::
$app
->
homeUrl
:
$this
->
brandUrl
,
$this
->
brandOptions
);
}
}
echo
Html
::
endTag
(
'div'
);
echo
Html
::
endTag
(
'div'
);
Html
::
addCssClass
(
$this
->
containerOptions
,
'collapse'
);
echo
Html
::
beginTag
(
'div'
,
[
'class'
=>
"collapse navbar-collapse navbar-
{
$this
->
options
[
'id'
]
}
-collapse"
]);
Html
::
addCssClass
(
$this
->
containerOptions
,
'navbar-collapse'
);
$options
=
$this
->
containerOptions
;
$tag
=
ArrayHelper
::
remove
(
$options
,
'tag'
,
'div'
);
echo
Html
::
beginTag
(
$tag
,
$options
);
}
}
/**
/**
...
@@ -97,12 +125,13 @@ class NavBar extends Widget
...
@@ -97,12 +125,13 @@ class NavBar extends Widget
*/
*/
public
function
run
()
public
function
run
()
{
{
$tag
=
ArrayHelper
::
remove
(
$this
->
containerOptions
,
'tag'
,
'div'
);
echo
Html
::
endTag
(
'div'
);
echo
Html
::
endTag
(
$tag
);
if
(
$this
->
padded
)
{
if
(
$this
->
renderInnerContainer
)
{
echo
Html
::
endTag
(
'div'
);
echo
Html
::
endTag
(
'div'
);
}
}
echo
Html
::
endTag
(
'nav'
);
$tag
=
ArrayHelper
::
remove
(
$this
->
options
,
'tag'
,
'nav'
);
echo
Html
::
endTag
(
$tag
,
$this
->
options
);
BootstrapPluginAsset
::
register
(
$this
->
getView
());
BootstrapPluginAsset
::
register
(
$this
->
getView
());
}
}
...
@@ -113,11 +142,11 @@ class NavBar extends Widget
...
@@ -113,11 +142,11 @@ class NavBar extends Widget
protected
function
renderToggleButton
()
protected
function
renderToggleButton
()
{
{
$bar
=
Html
::
tag
(
'span'
,
''
,
[
'class'
=>
'icon-bar'
]);
$bar
=
Html
::
tag
(
'span'
,
''
,
[
'class'
=>
'icon-bar'
]);
$screenReader
=
'<span class="sr-only">'
.
$this
->
screenReaderToggleText
.
'</span>'
;
$screenReader
=
"<span class=
\"
sr-only
\"
>
{
$this
->
screenReaderToggleText
}
</span>"
;
return
Html
::
button
(
"
{
$screenReader
}
\n
{
$bar
}
\n
{
$bar
}
\n
{
$bar
}
"
,
[
return
Html
::
button
(
"
{
$screenReader
}
\n
{
$bar
}
\n
{
$bar
}
\n
{
$bar
}
"
,
[
'class'
=>
'navbar-toggle'
,
'class'
=>
'navbar-toggle'
,
'data-toggle'
=>
'collapse'
,
'data-toggle'
=>
'collapse'
,
'data-target'
=>
"
.navbar-
{
$this
->
options
[
'id'
]
}
-collapse
"
,
'data-target'
=>
"
#
{
$this
->
containerOptions
[
'id'
]
}
"
,
]);
]);
}
}
}
}
framework/CHANGELOG.md
View file @
04b2936d
...
@@ -85,6 +85,7 @@ Yii Framework 2 Change Log
...
@@ -85,6 +85,7 @@ Yii Framework 2 Change Log
-
Enh #1809: Added support for building "EXISTS" and "NOT EXISTS" query conditions (abdrasulov)
-
Enh #1809: Added support for building "EXISTS" and "NOT EXISTS" query conditions (abdrasulov)
-
Enh #1839: Added support for getting file extension and basename from uploaded file (anfrantic)
-
Enh #1839: Added support for getting file extension and basename from uploaded file (anfrantic)
-
Enh #1852: ActiveRecord::tableName() now returns table name using DbConnection::tablePrefix (creocoder)
-
Enh #1852: ActiveRecord::tableName() now returns table name using DbConnection::tablePrefix (creocoder)
-
Enh #1881: Improved
`yii\bootstrap\NavBar`
with
`containerOptions`
,
`innerContainerOptions`
and
`renderInnerContainer`
(creocoder)
-
Enh #1894: The path aliases
`@webroot`
and
`@web`
are now available right after the application is initialized (qiangxue)
-
Enh #1894: The path aliases
`@webroot`
and
`@web`
are now available right after the application is initialized (qiangxue)
-
Enh #1921: Grid view ActionColumn now allow to name buttons like
`{controller/action}`
(creocoder)
-
Enh #1921: Grid view ActionColumn now allow to name buttons like
`{controller/action}`
(creocoder)
-
Enh #1973:
`yii message/extract`
is now able to generate
`.po`
files (SergeiKutanov, samdark)
-
Enh #1973:
`yii message/extract`
is now able to generate
`.po`
files (SergeiKutanov, samdark)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment