¿Alguna forma de filtrar por número de semana?

9

Drupal 7, Vistas 3

Tengo varias vistas configuradas que muestran datos durante muchos años. Los datos se filtran por año utilizando un campo de fecha como criterio de filtro. Para cada año tengo vistas de archivos adjuntos que necesito filtrar más por semana. En lugar de determinar las fechas exactas para las semanas de cada año e ingresarlas manualmente como criterios de filtro, me pregunto si hay alguna forma de agregar un criterio de filtro para filtrar por número de semana, es decir, semana 1 a semana 52. De esa manera, el La única fecha que debe establecerse es el año de cada vista, y el resto se realiza automáticamente según el número de semana.

Estoy agregando una gran cantidad de datos por año y semana en una vista de tabla donde cada columna es un archivo adjunto de vista adicional y trato de evitar tener que ingresar manualmente los filtros para las fechas de la semana por año.

¿Alguien tiene algún consejo / pista para mí sobre esto? Muchas gracias.

Aquí está el código con el que estoy jugando actualmente:

function x_week_start($date) {
    $ts = strtotime($date);
    $start = (date('w', $ts) == 0) ? $ts : strtotime('last sunday', $ts);
    return date('Y-m-d', $start); 
}

function x_week_end($date) {
    $ts = strtotime($date);
    $start = (date('w', $ts) == 0) ? $ts : strtotime('last sunday', $ts);
    return date('Y-m-d', strtotime('next saturday', $start)); 
}

$date = '2013-01-14';
$start = x_week_start($date);
$end = x_week_end($date);
$inquiry_date = date('Y-m-d', $data->field_field_inquiry_date[0]['raw']['value']);

if ($inquiry_date <= $start) {return FALSE;}

Debo agregar que field_inquiry_date fieldes una marca de tiempo de Unix.

usuario1055810
fuente
Creo que debe crear su propio filtro personalizado. Vea ese módulo. Puede ser útil drupal.org/project/customfilter
Mohammed Gomma
Parece que el enfoque del enlace de Bala debería funcionar bien.
Niall Murphy

Respuestas:

2

Aquí hay un truco: cree un nuevo formato de fecha navegando a Admin> Configuración> Regional e Idioma> Fecha y hora y haciendo clic en la pestaña Formatos (admin / config / regional / date-time / formatos).

Ajústelo a W (que es W mayúscula), y le dará el número de semana, que puede usar con cualquier fecha.

De esa manera, puede incluir el campo de fecha directamente en las vistas, establecer el filtro W y usar la agregación, el filtro, etc. sin ninguna codificación adicional.

Antonio Hernández
fuente