Actualmente estoy trabajando en un sitio de Drupal 10. El cliente me pidió un filtro en una vista. El Filtro era de un campo fecha y queria buscar entre un rango de fecha para el campo fecha de creación.
En este sentido, el cliente necestitaba que en vez de decir la etiqueta min = Desde y que en vez de max = Hasta.
Para esto tendriamos que crear un modulo personalizado y crear un archivo .module.
en este archivo de llamar al hook_form_views_exposed_form_alter()
con este código les funcionará.
<?php
/**
* Implements hook_form_views_exposed_form_alter().
*/
function mi_modulo_form_views_exposed_form_alter(&$form, &$form_state, $form_id) {
// Asegurarnos de que estamos trabajando con un formulario expuesto de una vista.
if ($form_id === 'views_exposed_form') {
// Recorremos todos los elementos del formulario.
foreach ($form as &$element) {
// Verificamos si el elemento es un array.
if (is_array($element)) {
// Recorremos sus subelementos.
foreach ($element as &$sub_element) {
// Verificamos si el sub_elemento es un array y no un objeto.
if (is_array($sub_element)) {
// Recorremos más profundamente si hay otro nivel de anidamiento.
foreach ($sub_element as &$nested_element) {
// Verificamos si el elemento es un array antes de acceder a 'min' y 'max'.
if (is_array($nested_element)) {
// Verificamos si los campos "min" y "max" existen y son arrays.
if (isset($nested_element['min']) && is_array($nested_element['min']) && isset($nested_element['max']) && is_array($nested_element['max'])) {
// Cambiamos las etiquetas de "min" y "max".
$nested_element['min']['#title'] = t('Desde');
$nested_element['max']['#title'] = t('Hasta');
}
}
}
}
// Verificamos si el sub_elemento tiene directamente los campos "min" y "max", y es un array.
if (isset($sub_element['min']) && is_array($sub_element['min']) && isset($sub_element['max']) && is_array($sub_element['max'])) {
// Cambiamos las etiquetas de "min" y "max".
$sub_element['min']['#title'] = t('Desde');
$sub_element['max']['#title'] = t('Hasta');
}
}
}
}
}
}