Chcę dodać klasę CSS do etykiety na stronie korzystającej z interfejsu API formularza Drupal 8. Nie udało mi się znaleźć w Internecie informacji o tym, jak to zastosować. Użyłem następującego obejścia, ale daje ono dziwne wyniki.
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>',
) ;
a renderowany HTML to:
<div class="caption1"><label for="lbl1" class="control-label">
<div class="caption1"></div>QUESTIONNAIRE
</label>
Instrukcja div nie tylko znajduje się w niewłaściwym miejscu, ale jest renderowana dwukrotnie.
Znalazłem posty sprzed kilku lat, które pokazują, że nie było to możliwe, ale mam nadzieję, że od tego czasu, a wraz z D8, zostało to naprawione. Nie chcę tego robić z prefiksem / sufiksem, ale jako osobny element tablicy.
PS: ta strona to Drupal 8.0.0-rc2