Index im Template als Datum ausgeben

Erweiterung des Parsers: Index-Felder können als Datum ausgegeben werden.
Dadurch lässt sich ein "Terminkalender" einfacher Verwalten, wenn das Datum für die Sortierung in das Index-Feld geschrieben wird, da das Datum nicht unbedingt in ein zweites Feld geschrieben werden muss.
Diese Änderung lässt sich auch Prima mit mod_latest_news kombinieren.

Suche in _include/parser_r_value.inc.php:

 case stristr(strtolower($key), 'articleidx'):
    $replacement = htmlspecialchars($content[$key]['articleidx']);
    break;

und ersetze es durch:

 case stristr(strtolower($key), 'articleidx'):
    $replacement = htmlspecialchars($content[$key]['articleidx']);
    if (array_key_exists('date', $parameters) && is_int($content[$key]['articleidx'])) {
        $date = strtotime(substr($content[$key]['articleidx'], 0, 2).'.substr($content[$key]['articleidx'], 2, 2).'.substr($content[$key]['articleidx'], 4, 2));
        $replacement = htmlspecialchars(date($cpoRubrics[$db_rubric_id]['settings']['date_format'], $date));
        $replacement = htmlspecialchars($translator->getDateTranslation($replacement, $cpoRubrics[$db_rubric_id]['settings']['language']));
        if (array_key_exists('timestamp', $parameters)) {
            $replacement = htmlspecialchars($date);
            break;
        }
        if (array_key_exists('format', $parameters)) {
            $replacement = date($parameters['format'], $date);
            $replacement = htmlspecialchars($translator->getDateTranslation($replacement, $cpoRubrics[$db_rubric_id]['settings']['language']));
        }
    }
    break;

Damit lässt sich z.B. der Platzhalter:

 <!-- Value: articleidx; date; format=d.m.Y; -->

im Template benutzen. Es sind nun also alle Optionen für diesen Platzhalter verfügbar, wie bei z.B. "Value: pub_date;"

Diskussion im Forum zu diesem Thema: http://community.conpresso.de/viewtopic.php?t=3154