週番号でフィルタリングする方法はありますか?


9

Drupal 7、ビュー3

長年にわたってデータを表示するように構成されたビューがいくつかあります。データは、日付フィールドをフィルター基準として使用して、年によってフィルターされます。毎年、添付ファイルのビューがあり、週ごとにさらにフィルタリングする必要があります。毎年の週の正確な日付を決定し、それらをフィルター基準として手動で入力するのではなく、週番号、つまり第1週から第52週でフィルターするフィルター基準を追加する方法があるかどうか疑問に思っています。設定が必要な日付のみが各ビューの年であり、残りは週番号に従って自動的に発生します。

各列が追加のビュー添付ファイルであるテーブルビューで、年と週ごとに多くのデータを集計しており、年ごとの週の日付のフィルターを手動で入力する必要がないようにしています。

これについて私にアドバイス/ヒントはありますか?どうもありがとう。

これが私が現在遊んでいるコードです:

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

これはfield_inquiry_date fieldUNIXタイムスタンプであることを付け加えておきます。


独自のカスタムフィルターを作成する必要があると思います。モジュールを参照してください。drupal.org/ project / customfilterを
Mohammed


バラのリンクのアプローチはうまくいくようです。
Niall Murphy、

回答:


2

トリックは次のとおりです。[管理]> [構成]> [地域と言語]> [日付と時刻]に移動し、[形式]タブ(admin / config / regional / date-time / formats)をクリックして、新しい日付形式を作成します。

W(大文字のW)に設定すると、任意の日付で使用できる週番号が表示されます。

このようにして、ビューに日付フィールドを直接含め、Wフィルターを設定し、追加のコーディングなしで集計、フィルターなどを使用できます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.