Drupal: Format des Erstellungsdatums ändern

Norman Kämper-Leymann, 12 January 2015
  • Drupal
  • Drupal 7
  • date
  • date format
  • format_date()
  • submitted by
  • template_preprocess_node()

Viele Wege führen nach Rom. Ganz besonders was Drupal angeht. Um das Format des Datums zu ändern, das neben dem Namen des Autors im Header einer Drupal-Node angezeigt werden kann, stellt Berlin-Coding drei Möglichkeiten vor.

  1. Da gibt es ein Modul für. Zwar mit reichlich Overkill, aber soweit recht komfortabel macht https://www.drupal.org/project/submitted_by genau das was es soll.

  2. Wer es leichtgewichtiger mag, klingt sich in der template.php seines Themes unter template_preprocess_node() ein. Genau an der Stelle werden die nötigen Bestandteile an die $submitted-Variable übergeben, die dann im Node-Template ausgerendert wird.
     function MYTHEME_preprocess_node(&$vars) {
       if (variable_get('node_submitted_' . $vars['node']->type, TRUE)) {
         $date = format_date($vars['node']->created, 'custom', 'd. F Y');
         $vars['submitted'] = t('Submitted by !username on !datetime', array('!username' => $vars['name'], '!datetime' => $date));
       }
     }
    
  3. Am flexibelsten ist man am Ende wahrscheinlich direkt in seinem Node-Template. Besonders, wenn der zusammengesetzte String ohnehin noch weiter zerstückelt werden soll. Dort kann man die Zeile <p class="submitted"></p> durch folgende beispielhafte Komposition ersetzen.
      <?php print t('Submitted by !username on !datetime', array('!username' => $name, '!datetime' => format_date($node->created, 'custom', 'd. F Y'))); ?>