/** * Add classes to a field * * @param Field $field * @param array $classes The possible classes to add * * @return Field */ public function getFieldClasses(Field $field, $classes) { // Add inline class for checkables if ($field->isCheckable() and in_array('inline', $classes)) { $field->inline(); } // Filter classes according to field type if ($field->isButton()) { $classes = $this->filterButtonClasses($classes); } else { $classes = $this->filterFieldClasses($classes); } // Add form-control class for text-type, textarea and select fields // As text-type is open-ended we instead exclude those that shouldn't receive the class if (!$field->isCheckable() and !$field->isButton() and !in_array($field->getType(), array('file', 'plaintext')) and !in_array('form-control', $classes)) { $classes[] = 'form-control'; } return $this->addClassesToField($field, $classes); }
/** * Create a label for a field * * @param Field $field * @param Element $label The field label if non provided * * @return string A label */ public function createLabelOf(Field $field, Element $label = null) { // Get the label and its informations if (!$label) { $label = $field->getLabel(); } // Get label "for" $for = $field->id ?: $field->getName(); // Get label text $text = $label->getValue(); if (!$text) { return false; } // Append required text if ($field->isRequired()) { $text .= $this->app['former']->getOption('required_text'); } // Render plain label if checkable, else a classic one $label->setValue($text); if (!$field->isCheckable()) { $label->for($for); } return $label; }
/** * Add classes to a field * * @param Field $field * @param array $classes The possible classes to add * * @return Field */ public function getFieldClasses(Field $field, $classes) { // Add inline class for checkables if ($field->isCheckable() and in_array('inline', $classes)) { $field->inline(); } // Filter classes according to field type if ($field->isButton()) { $classes = $this->filterButtonClasses($classes); } else { $classes = $this->filterFieldClasses($classes); } return $this->addClassesToField($field, $classes); }