web-dev-qa-db-fra.com

Comment personnaliser le modèle de formulaire de bloc de recherche par défaut?

Comment puis-je personnaliser le modèle de formulaire de bloc de recherche par défaut, j'utilise maintenant le modèle ci-dessous pour afficher un bloc de formulaire de recherche, mais ce code ne me permet pas de modifier et de personnaliser chaque partie de ce formulaire séparément et n'a aucune flexibilité.

formulaire - search-block-form.html.twig

<form{{ attributes.addClass('search-form', 'search-block-form') }}>
  {{ children }}
</form>

puis imprimer dans mon thème par le code ci-dessous:

{{ page.search_box }}

Y a-t-il une meilleure suggestion de nom de modèle avec plus de variables et de flexibilité dans la personnalisation?

6
Mojtaba Reyhani

Si vous souhaitez utiliser Twig, vous pouvez le faire en créant un module personnalisé, comme ceci:

/themes/your_theme/templates/form--search-block-form.html.twig

{% set form = element %}

hello {{ form.keys }} world {{ form.actions }}

Résultat:

enter image description here

Dans le thème Bartik:

enter image description here

4
No Sssweat

Le bloc de recherche est fourni par le module principal Search. Si vous installez ce module, le bloc sera disponible dans la disposition des blocs, lorsque vous placerez un bloc.

Vous l'avez probablement déjà fait en installant le profil standard.

Pour personnaliser le formulaire de recherche, vous pouvez utiliser un crochet de modification de formulaire.

Par exemple, mettez cette fonction dans mytheme.theme pour modifier le bouton de recherche:

function mytheme_form_alter(&$form, $form_state) {
  if ( $form['#form_id'] == 'search_block_form' ) {
    $form['actions']['submit']['#value'] = t('Search my Website');
  }
}
4
4k4