Agregue texto después del campo de entrada con el formulario api (sufijo de campo)

9

Estoy creando un formulario con un campo de texto. Después del campo de entrada, me gustaría tener algo de texto. Me gusta esto:

Label *
|________| some text
Field description

El código que uso es:

$form['a_textfield'] = array(
    '#type' => 'textfield',
    '#title' => t('A Label'),
    '#size' => 10,
    '#maxlength' => 15,
    '#description' => t('A Field description'),
    '#required' => TRUE,
);

¿Hay alguna forma de agregar "algo de texto" después del campo de entrada de esta manera? ¿Tengo que generar el código HTML manualmente a través de #markup? ¿Hay alguna manera de hacer esto a través del formulario alter? ¿O una función temática?

dschenk
fuente

Respuestas:

20

Puede usar la #field_suffixpropiedad para exactamente eso:

Texto o código que se coloca directamente después de un campo de texto. Esto se puede usar para agregar una unidad a un campo de texto.

Por ejemplo:

$form['a_textfield'] = array(
  '#type' => 'textfield',
  '#title' => t('A Label'),
  '#size' => 10,
  '#maxlength' => 15,
  '#description' => t('A Field description'),
  '#required' => TRUE,
  '#field_suffix' => 'Suffix'
);
Clive
fuente
Gracias. Esto funciona para mi. ¿Hay alguna forma de eliminar el espacio extra que viene "<span class =" field-suffix "> <span class =" checkmark "> </span> </span>"