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
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Rotua Panjaitan
yii2
Commits
65352e50
Commit
65352e50
authored
Aug 14, 2013
by
Qiang Xue
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactored ActiveField.
parent
3adffc9c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
56 additions
and
46 deletions
+56
-46
login.php
apps/advanced/backend/views/site/login.php
+2
-3
contact.php
apps/advanced/frontend/views/site/contact.php
+3
-3
login.php
apps/advanced/frontend/views/site/login.php
+2
-3
requestPasswordResetToken.php
...dvanced/frontend/views/site/requestPasswordResetToken.php
+1
-1
signup.php
apps/advanced/frontend/views/site/signup.php
+2
-2
contact.php
apps/basic/views/site/contact.php
+3
-3
login.php
apps/basic/views/site/login.php
+1
-1
upgrade-from-v1.md
docs/guide/upgrade-from-v1.md
+3
-3
yii.js
framework/yii/assets/yii.js
+1
-1
index.php
framework/yii/debug/views/default/index.php
+1
-1
HtmlBase.php
framework/yii/helpers/HtmlBase.php
+19
-7
ActiveField.php
framework/yii/widgets/ActiveField.php
+0
-0
HtmlTest.php
tests/unit/framework/helpers/HtmlTest.php
+18
-18
No files found.
apps/advanced/backend/views/site/login.php
View file @
65352e50
...
...
@@ -18,7 +18,7 @@ $this->params['breadcrumbs'][] = $this->title;
<div
class=
"row"
>
<div
class=
"col-lg-5"
>
<?php
$form
=
ActiveForm
::
begin
(
array
(
'id'
=>
'login-form'
));
?>
<?php
echo
$form
->
field
(
$model
,
'username'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'username'
);
?>
<?php
echo
$form
->
field
(
$model
,
'password'
)
->
passwordInput
();
?>
<?php
echo
$form
->
field
(
$model
,
'rememberMe'
)
->
checkbox
();
?>
<div
class=
"form-actions"
>
...
...
@@ -27,4 +27,4 @@ $this->params['breadcrumbs'][] = $this->title;
<?php
ActiveForm
::
end
();
?>
</div>
</div>
</div>
\ No newline at end of file
</div>
apps/advanced/frontend/views/site/contact.php
View file @
65352e50
...
...
@@ -21,9 +21,9 @@ $this->params['breadcrumbs'][] = $this->title;
<div
class=
"row"
>
<div
class=
"col-lg-5"
>
<?php
$form
=
ActiveForm
::
begin
(
array
(
'id'
=>
'contact-form'
));
?>
<?php
echo
$form
->
field
(
$model
,
'name'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'email'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'subject'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'name'
);
?>
<?php
echo
$form
->
field
(
$model
,
'email'
);
?>
<?php
echo
$form
->
field
(
$model
,
'subject'
);
?>
<?php
echo
$form
->
field
(
$model
,
'body'
)
->
textArea
(
array
(
'rows'
=>
6
));
?>
<?php
echo
$form
->
field
(
$model
,
'verifyCode'
)
->
widget
(
Captcha
::
className
(),
array
(
'options'
=>
array
(
'class'
=>
'form-control'
),
...
...
apps/advanced/frontend/views/site/login.php
View file @
65352e50
...
...
@@ -18,7 +18,7 @@ $this->params['breadcrumbs'][] = $this->title;
<div
class=
"row"
>
<div
class=
"col-lg-5"
>
<?php
$form
=
ActiveForm
::
begin
(
array
(
'id'
=>
'login-form'
));
?>
<?php
echo
$form
->
field
(
$model
,
'username'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'username'
);
?>
<?php
echo
$form
->
field
(
$model
,
'password'
)
->
passwordInput
();
?>
<?php
echo
$form
->
field
(
$model
,
'rememberMe'
)
->
checkbox
();
?>
<div
style=
"color:#999;margin:1em 0"
>
...
...
@@ -30,4 +30,4 @@ $this->params['breadcrumbs'][] = $this->title;
<?php
ActiveForm
::
end
();
?>
</div>
</div>
</div>
\ No newline at end of file
</div>
apps/advanced/frontend/views/site/requestPasswordResetToken.php
View file @
65352e50
...
...
@@ -18,7 +18,7 @@ $this->params['breadcrumbs'][] = $this->title;
<div
class=
"row"
>
<div
class=
"col-lg-5"
>
<?php
$form
=
ActiveForm
::
begin
(
array
(
'id'
=>
'request-password-reset-form'
));
?>
<?php
echo
$form
->
field
(
$model
,
'email'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'email'
);
?>
<div
class=
"form-actions"
>
<?php
echo
Html
::
submitButton
(
'Send'
,
array
(
'class'
=>
'btn btn-primary'
));
?>
</div>
...
...
apps/advanced/frontend/views/site/signup.php
View file @
65352e50
...
...
@@ -18,8 +18,8 @@ $this->params['breadcrumbs'][] = $this->title;
<div
class=
"row"
>
<div
class=
"col-lg-5"
>
<?php
$form
=
ActiveForm
::
begin
(
array
(
'id'
=>
'form-signup'
));
?>
<?php
echo
$form
->
field
(
$model
,
'username'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'email'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'username'
);
?>
<?php
echo
$form
->
field
(
$model
,
'email'
);
?>
<?php
echo
$form
->
field
(
$model
,
'password'
)
->
passwordInput
();
?>
<div
class=
"form-actions"
>
<?php
echo
Html
::
submitButton
(
'Signup'
,
array
(
'class'
=>
'btn btn-primary'
));
?>
...
...
apps/basic/views/site/contact.php
View file @
65352e50
...
...
@@ -29,9 +29,9 @@ $this->params['breadcrumbs'][] = $this->title;
<div
class=
"row"
>
<div
class=
"col-lg-5"
>
<?php
$form
=
ActiveForm
::
begin
(
array
(
'id'
=>
'contact-form'
));
?>
<?php
echo
$form
->
field
(
$model
,
'name'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'email'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'subject'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'name'
);
?>
<?php
echo
$form
->
field
(
$model
,
'email'
);
?>
<?php
echo
$form
->
field
(
$model
,
'subject'
);
?>
<?php
echo
$form
->
field
(
$model
,
'body'
)
->
textArea
(
array
(
'rows'
=>
6
));
?>
<?php
echo
$form
->
field
(
$model
,
'verifyCode'
)
->
widget
(
Captcha
::
className
(),
array
(
'options'
=>
array
(
'class'
=>
'form-control'
),
...
...
apps/basic/views/site/login.php
View file @
65352e50
...
...
@@ -18,7 +18,7 @@ $this->params['breadcrumbs'][] = $this->title;
<div
class=
"row"
>
<div
class=
"col-lg-3"
>
<?php
$form
=
ActiveForm
::
begin
(
array
(
'id'
=>
'login-form'
));
?>
<?php
echo
$form
->
field
(
$model
,
'username'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'username'
);
?>
<?php
echo
$form
->
field
(
$model
,
'password'
)
->
passwordInput
();
?>
<?php
echo
$form
->
field
(
$model
,
'rememberMe'
)
->
checkbox
();
?>
<div
class=
"form-actions"
>
...
...
docs/guide/upgrade-from-v1.md
View file @
65352e50
...
...
@@ -331,12 +331,12 @@ introduces the class map (via `Yii::$classMap`) to overcome this difficulty.
------------
Yii 2.0 introduces the
*field*
concept for building a form using
`ActiveForm`
. A field
is a container consisting of a label, an input, an
d an error message. It is represented
as an
`ActiveField`
object. Using fields, you can build a form more cleanly than before:
is a container consisting of a label, an input, an
error message, and/or a hint text.
It is represented
as an
`ActiveField`
object. Using fields, you can build a form more cleanly than before:
```
php
<?php
$form
=
yii\widgets\ActiveForm
::
begin
();
?>
<?php
echo
$form
->
field
(
$model
,
'username'
)
->
textInput
()
;
?>
<?php
echo
$form
->
field
(
$model
,
'username'
);
?>
<?php
echo
$form
->
field
(
$model
,
'password'
)
->
passwordInput
();
?>
<div
class=
"form-actions"
>
<?php
echo
Html
::
submitButton
(
'Login'
);
?>
...
...
framework/yii/assets/yii.js
View file @
65352e50
...
...
@@ -32,7 +32,7 @@
* // ... private functions and properties go here ...
*
* return pub;
* });
* })
(jQuery)
;
* ~~~
*
* Using this structure, you can define public and private functions/properties for a module.
...
...
framework/yii/debug/views/default/index.php
View file @
65352e50
...
...
@@ -25,7 +25,7 @@ $this->title = 'Yii Debugger';
<th
style=
"width: 120px;"
>
Tag
</th>
<th
style=
"width: 170px;"
>
Time
</th>
<th
style=
"width: 120px;"
>
IP
</th>
<th
style=
"width:
6
0px;"
>
Method
</th>
<th
style=
"width:
7
0px;"
>
Method
</th>
<th>
URL
</th>
</tr>
</thead>
...
...
framework/yii/helpers/HtmlBase.php
View file @
65352e50
...
...
@@ -725,8 +725,10 @@ class HtmlBase
* @param string|array $selection the selected value(s).
* @param array $items the data item used to generate the checkboxes.
* The array keys are the labels, while the array values are the corresponding checkbox values.
* @param array $options options (name => config) for the checkbox list. The following options are supported:
* @param array $options options (name => config) for the checkbox list container tag.
* The following options are specially handled:
*
* - tag: string, the tag name of the container element.
* - unselect: string, the value that should be submitted when none of the checkboxes is selected.
* By setting this option, a hidden input will be generated.
* - encode: boolean, whether to HTML-encode the checkbox labels. Defaults to true.
...
...
@@ -778,7 +780,10 @@ class HtmlBase
}
$separator
=
isset
(
$options
[
'separator'
])
?
$options
[
'separator'
]
:
"
\n
"
;
return
$hidden
.
implode
(
$separator
,
$lines
);
$tag
=
isset
(
$options
[
'tag'
])
?
$options
[
'tag'
]
:
'div'
;
unset
(
$options
[
'tag'
],
$options
[
'unselect'
],
$options
[
'encode'
],
$options
[
'separator'
],
$options
[
'item'
]);
return
$hidden
.
static
::
tag
(
$tag
,
implode
(
$separator
,
$lines
),
$options
);
}
/**
...
...
@@ -836,7 +841,10 @@ class HtmlBase
$hidden
=
''
;
}
return
$hidden
.
implode
(
$separator
,
$lines
);
$tag
=
isset
(
$options
[
'tag'
])
?
$options
[
'tag'
]
:
'div'
;
unset
(
$options
[
'tag'
],
$options
[
'unselect'
],
$options
[
'encode'
],
$options
[
'separator'
],
$options
[
'item'
]);
return
$hidden
.
static
::
tag
(
$tag
,
implode
(
$separator
,
$lines
),
$options
);
}
/**
...
...
@@ -945,7 +953,7 @@ class HtmlBase
*
* The following options are specially handled:
*
* - tag: this specifies the tag name. If not set, "
p
" will be used.
* - tag: this specifies the tag name. If not set, "
div
" will be used.
*
* @return string the generated label tag
*/
...
...
@@ -953,7 +961,7 @@ class HtmlBase
{
$attribute
=
static
::
getAttributeName
(
$attribute
);
$error
=
$model
->
getFirstError
(
$attribute
);
$tag
=
isset
(
$options
[
'tag'
])
?
$options
[
'tag'
]
:
'
p
'
;
$tag
=
isset
(
$options
[
'tag'
])
?
$options
[
'tag'
]
:
'
div
'
;
unset
(
$options
[
'tag'
]);
return
Html
::
tag
(
$tag
,
Html
::
encode
(
$error
),
$options
);
}
...
...
@@ -1066,7 +1074,6 @@ class HtmlBase
/**
* Generates a radio button tag for the given model attribute.
* This method will generate the "name" tag attribute automatically unless it is explicitly specified in `$options`.
* This method will generate the "checked" tag attribute according to the model attribute value.
* @param Model $model the model object
* @param string $attribute the attribute name or expression. See [[getAttributeName()]] for the format
...
...
@@ -1102,7 +1109,6 @@ class HtmlBase
/**
* Generates a checkbox tag for the given model attribute.
* This method will generate the "name" tag attribute automatically unless it is explicitly specified in `$options`.
* This method will generate the "checked" tag attribute according to the model attribute value.
* @param Model $model the model object
* @param string $attribute the attribute name or expression. See [[getAttributeName()]] for the format
...
...
@@ -1267,6 +1273,9 @@ class HtmlBase
if
(
!
array_key_exists
(
'unselect'
,
$options
))
{
$options
[
'unselect'
]
=
'0'
;
}
if
(
!
array_key_exists
(
'id'
,
$options
))
{
$options
[
'id'
]
=
static
::
getInputId
(
$model
,
$attribute
);
}
return
static
::
checkboxList
(
$name
,
$checked
,
$items
,
$options
);
}
...
...
@@ -1304,6 +1313,9 @@ class HtmlBase
if
(
!
array_key_exists
(
'unselect'
,
$options
))
{
$options
[
'unselect'
]
=
'0'
;
}
if
(
!
array_key_exists
(
'id'
,
$options
))
{
$options
[
'id'
]
=
static
::
getInputId
(
$model
,
$attribute
);
}
return
static
::
radioList
(
$name
,
$checked
,
$items
,
$options
);
}
...
...
framework/yii/widgets/ActiveField.php
View file @
65352e50
This diff is collapsed.
Click to expand it.
tests/unit/framework/helpers/HtmlTest.php
View file @
65352e50
...
...
@@ -322,23 +322,23 @@ EOD;
public
function
testCheckboxList
()
{
$this
->
assertEquals
(
''
,
Html
::
checkboxList
(
'test'
));
$this
->
assertEquals
(
'
<div></div>
'
,
Html
::
checkboxList
(
'test'
));
$expected
=
<<<EOD
<div class="checkbox"><label><input type="checkbox" name="test[]" value="value1"> text1</label></div>
<div class="checkbox"><label><input type="checkbox" name="test[]" value="value2" checked> text2</label></div>
<div
><div
class="checkbox"><label><input type="checkbox" name="test[]" value="value1"> text1</label></div>
<div class="checkbox"><label><input type="checkbox" name="test[]" value="value2" checked> text2</label></div>
</div>
EOD;
$this
->
assertEqualsWithoutLE
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
()));
$expected
=
<<<EOD
<div class="checkbox"><label><input type="checkbox" name="test[]" value="value1<>"> text1<></label></div>
<div class="checkbox"><label><input type="checkbox" name="test[]" value="value 2"> text 2</label></div>
<div
><div
class="checkbox"><label><input type="checkbox" name="test[]" value="value1<>"> text1<></label></div>
<div class="checkbox"><label><input type="checkbox" name="test[]" value="value 2"> text 2</label></div>
</div>
EOD;
$this
->
assertEqualsWithoutLE
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems2
()));
$expected
=
<<<EOD
<input type="hidden" name="test" value="0"><div class="checkbox"><label><input type="checkbox" name="test[]" value="value1"> text1</label></div><br>
<div class="checkbox"><label><input type="checkbox" name="test[]" value="value2" checked> text2</label></div>
<input type="hidden" name="test" value="0"><div
><div
class="checkbox"><label><input type="checkbox" name="test[]" value="value1"> text1</label></div><br>
<div class="checkbox"><label><input type="checkbox" name="test[]" value="value2" checked> text2</label></div>
</div>
EOD;
$this
->
assertEqualsWithoutLE
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'separator'
=>
"<br>
\n
"
,
...
...
@@ -346,8 +346,8 @@ EOD;
)));
$expected
=
<<<EOD
0<label>text1 <input type="checkbox" name="test[]" value="value1"></label>
1<label>text2 <input type="checkbox" name="test[]" value="value2" checked></label>
<div>
0<label>text1 <input type="checkbox" name="test[]" value="value1"></label>
1<label>text2 <input type="checkbox" name="test[]" value="value2" checked></label>
</div>
EOD;
$this
->
assertEqualsWithoutLE
(
$expected
,
Html
::
checkboxList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'item'
=>
function
(
$index
,
$label
,
$name
,
$checked
,
$value
)
{
...
...
@@ -358,23 +358,23 @@ EOD;
public
function
testRadioList
()
{
$this
->
assertEquals
(
''
,
Html
::
radioList
(
'test'
));
$this
->
assertEquals
(
'
<div></div>
'
,
Html
::
radioList
(
'test'
));
$expected
=
<<<EOD
<div class="radio"><label><input type="radio" name="test" value="value1"> text1</label></div>
<div class="radio"><label><input type="radio" name="test" value="value2" checked> text2</label></div>
<div
><div
class="radio"><label><input type="radio" name="test" value="value1"> text1</label></div>
<div class="radio"><label><input type="radio" name="test" value="value2" checked> text2</label></div>
</div>
EOD;
$this
->
assertEqualsWithoutLE
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
()));
$expected
=
<<<EOD
<div class="radio"><label><input type="radio" name="test" value="value1<>"> text1<></label></div>
<div class="radio"><label><input type="radio" name="test" value="value 2"> text 2</label></div>
<div
><div
class="radio"><label><input type="radio" name="test" value="value1<>"> text1<></label></div>
<div class="radio"><label><input type="radio" name="test" value="value 2"> text 2</label></div>
</div>
EOD;
$this
->
assertEqualsWithoutLE
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems2
()));
$expected
=
<<<EOD
<input type="hidden" name="test" value="0"><div class="radio"><label><input type="radio" name="test" value="value1"> text1</label></div><br>
<div class="radio"><label><input type="radio" name="test" value="value2" checked> text2</label></div>
<input type="hidden" name="test" value="0"><div
><div
class="radio"><label><input type="radio" name="test" value="value1"> text1</label></div><br>
<div class="radio"><label><input type="radio" name="test" value="value2" checked> text2</label></div>
</div>
EOD;
$this
->
assertEqualsWithoutLE
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'separator'
=>
"<br>
\n
"
,
...
...
@@ -382,8 +382,8 @@ EOD;
)));
$expected
=
<<<EOD
0<label>text1 <input type="radio" name="test" value="value1"></label>
1<label>text2 <input type="radio" name="test" value="value2" checked></label>
<div>
0<label>text1 <input type="radio" name="test" value="value1"></label>
1<label>text2 <input type="radio" name="test" value="value2" checked></label>
</div>
EOD;
$this
->
assertEqualsWithoutLE
(
$expected
,
Html
::
radioList
(
'test'
,
array
(
'value2'
),
$this
->
getDataItems
(),
array
(
'item'
=>
function
(
$index
,
$label
,
$name
,
$checked
,
$value
)
{
...
...
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