Un modo per filtrare in base al numero della settimana?


9

Drupal 7, Visualizzazioni 3

Ho diverse viste configurate che visualizzano i dati per molti anni. I dati vengono filtrati per Anno utilizzando un campo data come criterio di filtro. Per ogni anno ho visualizzazioni degli allegati che devo filtrare ulteriormente per settimana. Piuttosto che determinare le date esatte per le settimane di ogni anno e inserirle manualmente come criteri di filtro, mi chiedo se c'è un modo per aggiungere un criterio di filtro per filtrare in base al numero della settimana, ovvero dalla settimana 1 alla settimana 52. In questo modo il l'unica data che deve essere impostata è l'anno per ogni vista e il resto avviene automaticamente in base al numero della settimana.

Sto aggregando molti dati per anno e settimana in una vista tabella in cui ogni colonna è un allegato di vista aggiuntivo e sto cercando di evitare di dover inserire manualmente i filtri per le date delle settimane all'anno.

Qualcuno ha qualche consiglio / suggerimento per me su questo? Grazie mille.

Ecco il codice con cui sto attualmente giocando:

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;}

Dovrei aggiungere che field_inquiry_date fieldè un timestamp unix.


Penso che devi creare il tuo filtro personalizzato, vedi quel modulo Potrebbe aiutare drupal.org/project/customfilter
Mohammed Gomma,


Sembra che l'approccio di Bala dovrebbe funzionare bene.
Niall Murphy,

Risposte:


2

Ecco un trucco: crea un nuovo formato di data navigando su Ammin.> Configurazione> Regionale e lingua> Data e ora e facendo clic sulla scheda Formati (admin / config / regionale / data-ora / formati).

Impostalo su W (che è W maiuscola) e ti darà il numero della settimana, che puoi usare con qualsiasi data.

In questo modo è possibile includere il campo data direttamente nelle viste, impostare il filtro W e utilizzare l'aggregazione, il filtro, ecc. Senza alcuna codifica aggiuntiva.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.