it-swarm.com.de

Klasse zum Formularelement hinzufügen

function ajax_register_form_user_login_alter(&$form, &$form_state, $form_id) {
   $form['fbuser'] = array(
      '#type' => 'item',
      '#markup' => 'You have a facebook account?',
      '#weight' => -10,
    );
   $form['login_link'] = array(
      '#type' => 'item',
      '#markup' => '<a class="facebook-action-connect" rel="nofollow" href="foo"><img src="foo" alt=""></a></div>',
      '#weight' => -6,      
    );
   }

Wie kann ich diesen Divs eine Klasse hinzufügen?

6
AlexEfremo

Möglicherweise suchen Sie nach dem #attributes Eigenschaft, die Sie Formularen und Formularelementen hinzufügen können. Siehe Beispiel unten

function ajax_register_form_user_login_alter(&$form, &$form_state, $form_id) {
   $form['fbuser'] = array(
      '#type' => 'item',
      '#markup' => 'You have a facebook account?',
      '#weight' => -10,
      '#attributes' => array('class' => array('my-class-1')),
    );
   $form['login_link'] = array(
      '#type' => 'item',
      '#markup' => '<a class="facebook-action-connect" rel="nofollow" href="foo"><img src="foo" alt=""></a></div>',
      '#weight' => -6,
      '#attributes' => array('class' => array('my-class-2')),
    );
   }
11
Pontus Nilsson

Gemäß der API-Anleitung drupal offizielles Formular) kann der Elementtyp die Eigenschaft #attributes Nicht verwenden:

https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#item

Eine Problemumgehung könnte darin bestehen, die Eigenschaften #prefix Und #suffix Zu verwenden:

$form['fbuser'] = array(
  '#type' => 'item',
  '#markup' => 'You have a facebook account?',
  '#weight' => -10,
  '#prefix' => '<span class="my_class">',
  '#suffix' => '</span>', // close the span openend by the #prefix property
);

Der Nachteil ist, dass die CSS-Klasse einem übergeordneten Element des Elementelements und nicht dem Element selbst hinzugefügt wird.

6
lastYorsh

Verwenden Sie '#attributes' => array('class' => array('my-class')) oder Sie können dies tun:

$form['html_markup_address'] = array(
  '#markup' => l(t('Add New Address'), 'mymodule/nojs',
   array('attributes' => array('class' => array('ctools-use-modal'))))
);

Sie könnten _form_set_class() verwenden

Dokumente: https://api.drupal.org/api/function/_form_set_class/7.x

Beispiel:

_form_set_class($element, array('my-class'));
0
Rafal Enden