Quiero agregar una clase CSS a una etiqueta en una página que usa la API de formularios Drupal 8. No he podido encontrar una referencia en línea sobre cómo aplicar eso. He utilizado la siguiente solución, pero produce algunos resultados extraños.
public function buildForm(array $form, FormStateInterface $form_state)
{
$form['label1'] = array(
'#type' => 'label',
'#title' => $this->t('QUESTIONNAIRE'),
'#id' => 'lbl1',
'#prefix' => '<div class="caption1">',
'#suffix' => '</div>',
) ;
y el HTML renderizado es:
<div class="caption1"><label for="lbl1" class="control-label">
<div class="caption1"></div>QUESTIONNAIRE
</label>
La declaración div no solo está en el lugar equivocado, sino que se representa dos veces.
Había encontrado publicaciones de hace varios años que muestran que esto no era posible, pero espero que desde entonces, y con D8, se haya solucionado. No quiero hacerlo con prefijo / sufijo, sino como un elemento de matriz separado.
PD: este sitio es Drupal 8.0.0-rc2