Hallo alle miteinander,
ich stehe mal wieder von einem Problem, bei dem ich Hilfe gebrauchen könnte. Mein Ziel: ich möchte einen ViewHelper erstellen, mit dem ich jedes X-beliebige Datum in ein anderes X-beliebiges Datumsformat bringen kann (das was Extbase bereits mitliefert ist zu eingeschränkt für meine Anforderung). Entsprechend benötige ich einen ViewHelper mit zwei Parametern: Datum und Format.
Mein ViewHelper-Funktion sieht wie folgt aus:
/**
* @param string $date ...
* @param string $format ...
* @return string
*/
public function render($date = NULL, $format = NULL) {
// inserted so the viewhelper can be used inline
if ($date === NULL) {
$date = $this->renderChildren();
}
if ($format === NULL) {
$format = $this->renderChildren();
}
...
return $formatted_date;
}
Der Code, mit dem ich den ViewHelper aufrufe sieht so aus:
{blubb: Date(date:mydate, format:'d.m.Y')}
"mydate" wird über den Controller zugewiesen, das Format wird im Template als String übergeben.
(Das Leerzeichen vor "Date" musste ich nur rein machen, weil es sonst hier im Forum nicht korrekt angezeigt wird...)
Mein Problem:
1. weiß ich nicht, ob der Aufruf des ViewHelpers mit mehreren Parametern so korrekt ist. Ich finde irgendwie überall nur Beispiele für einen einzigen Parameter...
2. Wenn ich die Seite mit diesem Aufruf anzeigen lassen, kommt folgender Fehler:
Argument "format" was not registered.
Folgendes habe ich versucht:
1. Wenn ich den zweiten Parameter (format) beim Aufruf weg lasse und ihn auch in meinem ViewHelper raus nehme (und das Format dort fest setze), funktioniert das wunderbar. Ich möchte das Format aber im Template setzen, weil es variabel sein soll und nicht fest im ViewHelper einbauen.
2. Wenn ich den Parameter überall in "myformat" umbenenne, funktioniert es auch nicht (ich wollte damit ausschließen, dass es evtl. an einem reservierten Wort liegt).
Könnt ihr mir evtl. weiter helfen?