Member-only story

Cómo Establecer Un Valor Predeterminado Para Un Filtro Expuesto En Una Vista En Drupal

Usando hook_views_pre_build

Sergio Guardiola Herrador
1 min readDec 1, 2024
Photo by Dan Gold on Unsplash

A veces, puede que necesites establecer un valor predeterminado en un filtro expuesto en una vista. Todavía no es posible hacerlo directamente en la vista, lo que creo que debería implementarse en el módulo en el futuro, pero por ahora, podemos usar hook_views_pre_build para lograrlo.

En este ejemplo, para el id de vista content y el display page_1, establezco un valor predeterminado para el filtro expuesto langcode_1. Esto se aplicará solo si langcode_1 aún no tiene ningún valor (reemplaza custom_module por el nombre de tu módulo):

/**
* Implements hook_views_pre_build().
*/
function custom_module_views_pre_build(ViewExecutable $view) {
// Set exposed filter default value to "All" in /admin/content.
if ($view->id() == 'content' && $view->current_display == 'page_1') {
$exposed_input = $view->getExposedInput();
// Check if langcode_1 is not set, then set it to the default "All".
if (empty($exposed_input['langcode_1'])) {
$exposed_input['langcode_1'] = 'All';
$view->setExposedInput($exposed_input);
}
}
}

👉 Descubre más sobre mí aquí: https://sergioguardiola.net 🔥

--

--

Sergio Guardiola Herrador
Sergio Guardiola Herrador

Written by Sergio Guardiola Herrador

I write articles in English and Spanish, mostly about programming, technology, travel, money, investing. You can find me here: https://sergioguardiola.net

No responses yet