2012-04-25 15 views
2

ビュー用の小さなField Formatterを書いて、生の秒カウントをかなりの時間に変換しました。 90秒から01:30のようなものです。クレイジー。Drupal Viewsフィールドの先頭に1を加えたビュー

事は1時30分は11時30分になり、午後12時45分turnes 10時45分までのように...

私の機能のようなものであるということである。

function custom_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, &$items, $display) { 
    $element = array(); 
    $settings = $display['settings']; 
    switch ($display['type']) { 
    case 'sectomin': 
     foreach ($items as $delta => $item) { 
     $time = intval($item['value']); 
     $element[$delta] = gmdate('i:s', $time); 
     // dsm($element); 
     } 
     break; 
    } 

    return $element; 
} 

dsm($ element)の出力は00:45、01:30などですが、レンダリングされた出力では10:45、11:30などになります。

何か問題がありますか?


EDIT: OK、問題を発見:

... 
    foreach ($items as $delta => $item) { 
    $time = intval($item['value']); 
    $element[$delta] = gmdate('i:s', $time); 
    } 
... 

は、実際にすることになっている:

... 
    foreach ($items as $delta => $item) { 
    $time = intval($item['value']); 
    $element[$delta] = array('#markup' => gmdate('i:s', $time)); 
    } 
... 
+0

niceどうやってそれがマークアップキーだったのか分かりましたか? –

+0

私は思い出せませんが、私はdsm($ element)の出力を他のカスタムフォーマッタと比較したと思います。 – alechko

+0

ありがとう、それを念頭に置いておきます –

答えて

0

は、カスタムフォーマッタを使用するようにしてください - http://drupal.org/project/custom_formatters/モジュールを。その後、date_parse_from_format( "D、m/d/Y - H:i"、$ custom_date)を使用します。コマンド。 WindowsベースのWebサーバーに注意してください。この機能は存在しません。

+0

ありがとうフランシス、しかし、私はすでに私の質問に投稿した解決策を見つけました – alechko

関連する問題