2017-01-24 3 views
0

Ich habe eine Bedingung meines Datumsformat hinzufügen, so dass es nicht angezeigt wird: 00, wenn die Minuten bei 00Wie erstelle ich ein dynamisches Datumsformat in Drupal 7?

Zum Beispiel (mit aktuellem Format) sind

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

soll angezeigt werden (was Ich suche)

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

Vielen Dank!

+0

Mögliches Duplikat von [Wie kann ein benutzerdefiniertes Drupal Datumsformat hinzugefügt werden?] (Http://stackoverflow.com/questions/8375674/how-can-a-custom-drupal-date-format-be- hinzugefügt) – Fky

+0

Danke, aber nein. Sie können die Ausgabe nicht basierend auf dem Wert der Eingabe mithilfe dieser Methode dynamisch anpassen. –

Antwort

0

Ich habe die Lösung mit dem hook_field_attach_preprocess_alter Haken aus dem field.api.php implementiert

Wir hatten bereits ein Modul „lokal“ in unserer Anwendung mit dem Namen, dass ich diesen Code hinzufügen konnte.

/** 
* 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; 
     } 
    } 
    } 
} 
Verwandte Themen