web-dev-qa-db-fra.com

Supprimez ou masquez le bouton d'envoi du bloc de recherche dans Drupal 7

J'ai besoin de faire un thème personnalisé sur le bloc de recherche dans Drupal 7.

Plus précisément, j'ai besoin d'ajouter une classe au bouton d'envoi qui la rend invisible et la supprime du flux de contenu. Donc:

<div class="form-actions form-wrapper" id="edit-actions">
  <input type="submit" id="edit-submit" name="op" value="Search" class="form-submit">
</div>

Devient...

<div class="form-actions form-wrapper element-invisible" id="edit-actions">
  <input type="submit" id="edit-submit" name="op" value="Search" class="form-submit">
</div>

J'ai ajouté element-invisible à l'élément edit-actions div. Cependant, je ne peux pas comprendre comment procéder. Quelle est la meilleure pratique pour faire ce genre de chose?

5
Lester Peabody

Une des façons standard de le faire serait d'utiliser hook_form_alter() et d'ajouter directement les attributs à l'élément actions:

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'search_block_form') {
    $form['actions']['#attributes']['class'][] = 'element-invisible';
  }
}
13
Clive

Vous pouvez également le masquer en utilisant une condition php comme celle-ci:

<?php
function your_module_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'your_form_id') {
      unset($form['actions']['submit']);
  }
}
?>
0
houmem