You are viewing revision #4 of this wiki article.
This is the latest version of this article.
You may want to see the changes made in this revision.
Hi Friends, This tutorial may be help us create the custom drop-down menu using CHtml::dropDownList
1) first create/copy the drop-down menu in your _form.php file
<div class="control-group">
<label class="control-label"><?php echo $form->labelEx($model,'dob'); ?></label>
<div class="controls">
<?php echo CHtml::dropDownList('VkUsers[month]', '', UtilityHtml::getMonthsArray());?>
<?php echo CHtml::dropDownList('VkUsers[day]', '', UtilityHtml::getDaysArray());?>
<?php echo CHtml::dropDownList('VkUsers[year]', '', UtilityHtml::getYearsArray());?>
</div>
</div>
2) Create the UtilityHtml.php file on componets folder which is include a all html file function
/**
* @Method : Dynemic Month
* @Params :
* @author : Ankit Modi
* @created : JULY 11 2014
* @Modified by :
* @modified :
* @Comment : Dynemic Month
*/
public static function getMonthsArray()
{
for($monthNum = 1; $monthNum <= 12; $monthNum++){
$months[$monthNum] = date('F', mktime(0, 0, 0, $monthNum, 1));
}
return array(0 => 'Month:') + $months;
}
/**
* @Method : Dynemic Days
* @Params :
* @author : Ankit Modi
* @created : JULY 11 2014
* @Modified by :
* @modified :
* @Comment : Dynemic Days
*/
public static function getDaysArray()
{
for($dayNum = 1; $dayNum <= 31; $dayNum++){
$days[$dayNum] = $dayNum;
}
return array(0 => 'Day:') + $days;
}
/**
* @Method : Dynemic Years
* @Params :
* @author : Ankit Modi
* @created : JULY 11 2014
* @Modified by :
* @modified :
* @Comment : Dynemic Years
*/
public static function getYearsArray()
{
$thisYear = date('Y', time());
for($yearNum = $thisYear; $yearNum >= 1920; $yearNum--){
$years[$yearNum] = $yearNum;
}
return array(0 => 'Year:') + $years;
}
Better to use component
Better to use component -
e.g.
class UtilityHtml extends CApplicationComponent { public function getMonthsArray() { //your code here //your code here return value; } public function getDaysArray() { //your code here //your code here return value; } }
Need to set it up in config/main.php:
'components' => array( 'myUtils' => array( 'class' => 'ext.components.UtilityHtml', ),
So now you can use like this:
<?php echo CHtml::dropDownList('VkUsers[month]', '', Yii::app()->UtilityHtml->getMonthsArray());?>
According to this - http://www.yiiframework.com/wiki/727/updated-how-to-create-call-custom-global-function-in-whole-application/#c17607
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.