Hallo,
ich habe momentan einen Fehler, dessen Ursache ich nicht identifizieren kann.
Die Fehler ausgabe sieht folgendermaßen aus:
#1217839467: Could not ultimately dispatch the request after 101 iterations.
Zu meinem Code:
Ich will in der newAction neben dem neu zu erstellenden Objekt selbst (ein "Weg"), ein Personenobjekt ("Person") übergeben um diese dem Weg zuweisen zu können.
Da die Person nicht in der newAction abgerufen werden kann, übergebe ich diese von der vorhherigen View {person;person} als Argument für die newAction.
Dort gebe ich, wie es mir die Fehlerausgabe auch rät als @dontvalidate an.
Zusätzlich binde ich in der newAction selbst die Person wieder an die New.html View, um diese dann als Parameter wieder {person:person} an die createAction zu übermitteln.
------
Wenn ich neun ein neues "Weg" Objekt erstellen will, funktioniert alles, wenn ich die von meiner "Wege-Validation"-Klasse gesetzten Eigenschaften erfülle, also ein valides Objekt erzeuge.
Sollte ich jedoch gegen eine Validation-methode verstoßen, so zeigt mir Extbase nicht wie üblich die Fehlermeldungen an, sondern wirft den oben geschreibenen Fehler und des obwohl ich @dontvalidate hingeschreiben habe (da die "Person" hier nicht validiert werden soll, der "Weg" aber schon).
Kann mir jemand helfen? Ich habe schon alles mögliche ausprobiert, leider komplett ohne Erfolt.
Hier die notwendigen Code-Schnipsel
1. Von List-Action aus kann ein neues Objekt erstellt werden. person ist das Person-Domänenobjekt
<f:link.action action="new" arguments="{person:person}" >Neuen Weg erfassen...</f:link.action>
2. im Path-Controller wird die newAction aufgerufen
/**
* action new
*
* @param $person
* @param $newPath
* @return void
* @dontvalidate Tx_Testproject_Domain_Model_Person $person
* @dontvalidate Tx_Testproject_Domain_Model_Path $newPath
*
*/
public function newAction(Tx_Testproject_Domain_Model_Person $person,Tx_Testproject_Domain_Model_Path $newPath = NULL) {
if ($newPath == NULL) {
// workaround for fluid bug ##5636
$newPath = t3lib_div::makeInstance('Tx_Testproject_Domain_Model_Path');
}
$this->view->assign('newPath', $newPath);
[...]
$this->view->assign('person', $person);
3. In der New-Html existiert eine Form, die das Person-Objekt dann an die create-Action weiterliefert:
<f:form method="post" action="create" enctype="multipart/form-data" name="newPath" object="{newPath}" arguments="{person: person}">
4. Der Funktionsrumpf der createAction()
/**
* action create
*
* @param Tx_Testproject_Domain_Model_Person $person
* @param Tx_Testproject_Domain_Model_Path $newPath
* @param array $transportationTypeArray
* @param array $vehicleArray
* @return void
* @dontvalidate Tx_Testproject_Domain_Model_Person $person
*
*
*
*/
public function createAction(Tx_Testproject_Domain_Model_Person $person,Tx_Testproject_Domain_Model_Path $newPath, $transportationTypeArray, $vehicleArray = NULL) {
Hallo,
Folgender Beitrag ist noch nicht sooo alt, hättest Du also in diesem Forum finden müssen:
#108844
Alle dort genannten Möglichkeiten kannst Du ausschließen?
Ansonsten reichen (zumindest mir) die genannten Scripte noch nicht aus :-(
Schau erstmal, ob Dir mein Beitrag weiterhilft, wenn nicht, schauen wir nochmal.
Gruß, Sven
Hallo,
ja den Beitrag habe ich als einer der ersten in Google gefunden, habe wie im Code sichtbar das @dontvalidate gesetzt, setter und getter existieren auch überall (wurden automatisch vom Extension-Builder generiert) und von mir manuell überprüft.
Auch das Setzen der Werte in der php.ini von meinem Zend-Server hat den Fehler nicht behoben.
Welche Scripte werden noch benötigt? Ich dachte eigentlich diese sind die relevanten die den Fehler produzieren, poste aber gern noch weitere.
Vielen Dank schonmal für deine Hilfe.
Hallo,
wie schon gesagt, ohne Scripte kann ich da wenig rausfinden. Ich bräuchte Dein Model und dein Template, außer Du sagst mir, dass Du Deine properties bei beidem genau gleich heißen und auch für alle je eine getter- und ein setter-Methode vorhanden sind.
Wenn Du es nicht posten willst, kannst Du mir auch eine PN schicken.
Gruß, Sven