コード例 #1
0
 public static function replaceWidgets(sfForm $form)
 {
     foreach ($form->getWidgetSchema()->getFields() as $name => $widget) {
         if ($widget instanceof sfWidgetFormDate) {
             $form->setWidget($name, self::getDateWidget());
         } elseif ($widget instanceof sfWidgetFormFilterDate) {
             $form->getWidget($name)->setOption("from_date", self::getDateWidget(array("use_own_help" => false)));
             $form->getWidget($name)->setOption("to_date", self::getDateWidget(array("use_own_help" => false)));
             $form->getWidget($name)->setOption("template", __("from %from_date% to %to_date%"));
         } elseif ($widget instanceof sfWidgetFormTextarea) {
             $form->getWidget($name)->setAttribute("rows", 15);
             $form->getWidget($name)->setAttribute("cols", 100);
         }
         if ($name == "attachment") {
             $form->setWidget($name, new sfWidgetFormInputFile());
         } elseif ($name == "created_by" || $name == "updated_by") {
             if ($form instanceof sfFormPropel) {
                 $form->setWidget($name, new sfWidgetFormInputHidden());
             }
         } elseif ($name == "password") {
             $form->setWidget($name, new sfWidgetFormInputPassword());
         }
     }
 }
コード例 #2
0
  public function getFormFieldContainerClass(sfForm $form, $name)
  {
    $class = array('form-element');

    $attributes = array();

    if (isset($form[$name]))
    {
      $widget = $form->getWidget($name);
      $validator = $form->getValidator($name);

      switch (true)
      {
        case $validator->getOption('required') === true:
          $class[] = 'required';
          break;

        default:
          $class[] = sfInflector::underscore(str_replace('sfWidgetForm', '', get_class($widget)));
          break;
      }
    }

    return implode(' ', $class);
  }
コード例 #3
0
 protected static function getLabel(sfForm $form, $name)
 {
     try {
         $widget = $form->getWidget($name);
     } catch (Exception $e) {
         $widget = null;
     }
     if ($widget) {
         $label = $widget->getLabel();
         if ($label) {
             return $label;
         }
         $placeholder = $widget->getAttribute('placeholder');
         if ($placeholder) {
             return $placeholder;
         }
     }
     return $name;
 }