Skip to content

Instantly share code, notes, and snippets.

@jez500
Last active October 12, 2023 12:20
Show Gist options
  • Save jez500/4d1ef061e41f69a964732461cb0ec43a to your computer and use it in GitHub Desktop.
Save jez500/4d1ef061e41f69a964732461cb0ec43a to your computer and use it in GitHub Desktop.
Drupal 8 - Hook form alter views exposed form
<?php
/**
* Implements hook_form_alter().
*/
function MYMODULE_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$view_names = array('my_view_name');
$view = $form_state->getStorage('view');
if ($form_id == 'views_exposed_form' && in_array($view['view']->id(), $view_names)) {
// Do some shilzzle.
}
}
@mbomb007
Copy link

@featuriz Yes.

@profwebsait
Copy link

profwebsait commented Mar 2, 2023

Hi, this code is working for Drupal 9.5.3 in theme:

function THEMENAME_form_views_exposed_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) { 
    if ($form['#id'] == 'views-exposed-form-all-products-page') {
	 $form['keys']['#attributes']['placeholder'] = 'Product search';
    }
}

My form:

<form data-block="nav_additional" action="/products" method="get" id="views-exposed-form-all-products-page" accept-charset="UTF-8" data-once="form-updated" data-drupal-form-fields="edit-keys">
  <div class="form--inline clearfix">
	<div class="js-form-item form-item js-form-type-textfield form-type-textfield js-form-item-keys form-item-keys">
		<label for="edit-keys">Search</label> 
		<input placeholder="Product search" data-drupal-selector="edit-keys" type="text" id="edit-keys" name="keys" value="" size="30" maxlength="128" class="form-text form-control">
    </div>
	<div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions">
		<input data-drupal-selector="edit-submit-all-products" type="submit" id="edit-submit-all-products" value="Search" class="button js-form-submit form-submit btn btn-primary">
	</div>
  </div>
</form>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment