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,
);
}
Comment puis-je ajouter une classe à cette div?
Vous cherchez peut-être le #attributes
propriété que vous pouvez ajouter aux formulaires et aux éléments de formulaire. Voir l'exemple ci-dessous
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')),
);
}
Selon le drupal guide officiel de l'API du formulaire, le type d'élément ne peut pas utiliser le #attributes
propriété:
https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#item
Une solution de contournement pourrait être d'utiliser le #prefix
et #suffix
Propriétés:
$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
);
L'inconvénient est que la classe css sera ajoutée à un parent de l'élément item, pas à l'élément lui-même.
Utilisez '#attributes' => array('class' => array('my-class'))
ou bien vous pouvez le faire:
$form['html_markup_address'] = array(
'#markup' => l(t('Add New Address'), 'mymodule/nojs',
array('attributes' => array('class' => array('ctools-use-modal'))))
);
Vous pouvez utiliser _form_set_class()
Documents: https://api.drupal.org/api/function/_form_set_class/7.x
Exemple:
_form_set_class($element, array('my-class'));