[TYPO3-german] Fluid Filterformular mag mit Datum nicht filtern

Sven Hofacker info at ho-it.de
Sun Mar 24 20:30:49 CET 2013


Moin Zusammen,

jetzt wo meine Extension schön das macht, was sie auch soll, stehe ich vor
einer neuen Aufgabe, bei der ich noch ein kleines Problem habe:

Ich möchte meine list Ausgabe filtern können, was mit der Angebotsnr auch
wunderbar funktioniert.
Wenn ich jedoch per Datum filtern möchte, funktioniert das ganze leider
nicht. 
Das Feld in der Tabelle ist mir dem langen Date-Zahlencode gefüllt und beim
Absenden des Formulars wird jedoch das vom Datepicker eingetragene
03/23/2013 übertragen.
Hier schätze ich, das er deshalb nicht vergleichen kann.

Evtl. kann mir einer von Euch auf die Sprünge helfen :-)


Bei der Filterung bin ich wie folgt vorgegangen:

List.html angepasst:

<f:form method="post" action="list" name="filter" object="{filter}">
Angebotsnr: <f:form.textfield id="Angebotsnr" property="Angebotsnr" />
Erfassungsdatum zwischen: <f:form.textfield id="datepicker"
property="vonDatum" /> und <f:form.textfield id="datepicker"
property="bisDatum" />
<f:form.submit value="suchen" />


Ein Filter-Model angelegt und im Repository folgendes hinterlegt:

public function findFiltered (\HOIT\test\Domain\Model\FormulardatenFilter
$filter = NULL) {
$query = $this->createQuery();
$constraints = array();
if ($filter !== NULL){
if ($filter->getAngebotsnr() !== NULL) {
$constraints[] = $query->equals('fAngebotsnr', $filter->getAngebotsnr());
};
$dateConstraint = $query->logicalAnd(
$query->logicalOr(
$query->equals('fErfassungsdatum', NULL),
$query->equals('fErfassungsdatum', 0),
$query->greaterThanOrEqual('fErfassungsdatum', $filter->getvonDatum())
),
$query->logicalOr(
$query->equals('fErfassungsdatum', NULL),
$query->equals('fErfassungsdatum', 0),
$query->greaterThanOrEqual('fErfassungsdatum', $filter->getbisDatum())
)
); 
$query->matching($query->logicalOr($constraints, $dateConstraint));
        return $query->execute();
                }
                else {
                    return $this->createQuery()->execute();
                }
}
}






More information about the TYPO3-german mailing list