2017-01-24 11 views
0

私はそれが表示されないように、私の日付フォーマットに条件を追加する必要があります。何(分が例えば00Drupal 7で動的な日付書式を作成する方法は?

であるときに00を(現在の形式で)

Tuesday, January 24, 2017 - 9:15 am 
Tuesday, January 24, 2017 - 9:00 am 

が表示されます私が探している)

Tuesday, January 24, 2017 - 9:15 am 
Tuesday, January 24, 2017 - 9 am 

ありがとう!

+0

可能な重複[カスタムDrupalの日付形式を追加することができますか?](http://stackoverflow.com/questions/8375674/how-can-a-custom-drupal-date-format-be-追加しました) – Fky

+0

ありがとうございます。このメソッドを使用して入力の値に基づいて出力を動的にカスタマイズすることはできません。 –

答えて

0

私は、我々はすでに私はこのコードを追加することができます我々のアプリケーションで、「ローカル」と呼ばれるモジュールを持っていたfield.api.php

からhook_field_attach_preprocess_alterフックを使用してソリューションを実装しました。

/** 
* Implements hook_field_attach_preprocess_alter 
*/ 
function local_field_attach_preprocess_alter(&$variables, $context) { 
    global $language; 

    foreach ($variables['content'] as $field_name => $field) { 

    // remove minutes formating if at 00 on field type datestamp. 
    if (isset($field['#field_type']) && $field['#field_type'] === 'datestamp') { 
     $tmp_date = $variables['content'][$field_name][0]['#markup']; 

     switch ($language->language) { 
     case 'en': 
      $variables['content'][$field_name][0]['#markup'] = str_replace(':00', '', $tmp_date); 
      break; 

     case 'fr': 
      $variables['content'][$field_name][0]['#markup'] = str_replace('h 00', 'h', $tmp_date); 
      break; 

     default: 
      break; 
     } 
    } 
    } 
} 
関連する問題