示例#1
0
 /**
  * Renders a dropdown list for a model attribute.
  * @param CModel $model the data model.
  * @param string $attribute the attribute.
  * @param array $data data for generating the list options (value=>display).
  * @param array $htmlOptions additional HTML attributes.
  * @return string the generated drop down list.
  * @see BsHtml::activeDropDownList
  */
 public function dropDownList($model, $attribute, $data, $htmlOptions = array())
 {
     return BsHtml::activeDropDownList($model, $attribute, $data, $htmlOptions);
 }
示例#2
0
<div class="form-group">
    <div class="col-md-12">
        <div class="row">
            <div class="col-md-2">
                <?php 
echo BsHtml::activeDropDownList($SPP, 'supplier_product_id', SupplierProduct::getDropdownListItems($supplier_id), array('class' => 'chosen', 'prompt' => '- Select -', 'name' => 'SupplierPurchaseProducts[' . $SPP->id . '][supplier_product_id]'));
?>
            </div>
            <div class="col-md-2">
                <?php 
echo BsHtml::activeTextField($SPP, 'quantity', array('name' => 'SupplierPurchaseProducts[' . $SPP->id . '][quantity]'));
?>
            </div>
            <div class="col-md-2">
                <?php 
echo BsHtml::activeTextField($SPP, 'price', array('name' => 'SupplierPurchaseProducts[' . $SPP->id . '][price]'));
?>
            </div>
            <?php 
if ($SPP->Product) {
    ?>
            <div class="col-md-2">
                <?php 
    echo BsHtml::activeDateField($SPP->Product, 'customer_available_from', array('name' => 'SupplierProducts[' . $SPP->supplier_product_id . '][customer_available_from]'));
    ?>
            </div>
            <div class="col-md-2">
                <?php 
    echo BsHtml::activeDateField($SPP->Product, 'customer_available_to', array('name' => 'SupplierProducts[' . $SPP->supplier_product_id . '][customer_available_to]'));
    ?>
示例#3
0
 /**
  * Generates a control group with a text field using a juidatepicker for a model attribute.
  * @param CModel $model the data model.
  * @param string $attribute the attribute name.
  * @param array $htmlOptions additional HTML attributes.
  * @return string the generated row.
  * @see BsHtml::activeDateFieldControlGroup
  */
 public function datetimeFieldControlGroup($model, $attribute, $htmlOptions = array())
 {
     $allowEmpty = false;
     $validators = $model->getValidators($attribute);
     foreach ($validators as $validator) {
         if ($validator instanceof CDateValidator && $validator->allowEmpty === true) {
             $allowEmpty = true;
             break;
         }
     }
     //I would have liked to have used the i18n date format, but the Jui Datepicker
     //doesn't support the unicode date format
     //$dateFormat = Yii::app()->locale->getDateFormat('full');
     $htmlOptions = BsHtml::addClassName('form-control', $htmlOptions);
     $htmlOptions['displaySize'] = isset($htmlOptions['displaySize']) ? $htmlOptions['displaySize'] : 1;
     $dateWidget = $this->widget('zii.widgets.jui.CJuiDatePicker', array('name' => $attribute . '_widget', 'htmlOptions' => $htmlOptions, 'options' => array('dateFormat' => 'DD, d MM yy', 'altFormat' => 'yy-mm-dd', 'altField' => '#' . CHtml::activeId($model, $attribute), 'changeYear' => true, 'changeMonth' => true), 'value' => date('l, j F Y', strtotime($model->{$attribute}))), true);
     $hourOptions = array();
     $minuteOptions = array();
     for ($i = 0; $i < 24; $i++) {
         $val = str_pad($i, 2, "0", STR_PAD_LEFT);
         $hourOptions[$val] = $val;
     }
     for ($i = 0; $i < 60; $i += 5) {
         $val = str_pad($i, 2, "0", STR_PAD_LEFT);
         $minuteOptions[$val] = $val;
     }
     $rowHtmlOptions = $htmlOptions;
     $rowHtmlOptions['input'] = '<div class="row">';
     if ($allowEmpty) {
         $rowHtmlOptions['input'] .= '<div class="col-lg-1">' . BsHtml::activeLabel($model, $attribute . '_set', array('class' => 'control-label')) . BsHtml::activeCheckBox($model, $attribute . '_set', array('class' => 'control-label')) . '</div>';
     }
     $rowHtmlOptions['input'] .= '<div class="col-lg-4">' . BsHtml::label('Date', $attribute . '_widget', array('class' => 'control-label')) . $dateWidget . '</div><div class="col-lg-2">' . BsHtml::activeLabel($model, $attribute . '_hour', array('class' => 'control-label')) . BsHtml::activeDropDownList($model, $attribute . '_hour', $hourOptions, $htmlOptions) . '</div><div class="col-lg-2">' . BsHtml::activeLabel($model, $attribute . '_minute', array('class' => 'control-label')) . BsHtml::activeDropDownList($model, $attribute . '_minute', $minuteOptions, $htmlOptions) . '</div></div>';
     $rowHtmlOptions = $this->processRowOptions($model, $attribute, $rowHtmlOptions);
     return BsHTML::activeDateFieldControlGroup($model, $attribute, $rowHtmlOptions) . BsHTML::activeHiddenField($model, $attribute);
 }