Hallo Mickeyy,
gut. An der Registrierung sollte es also nicht liegen.
/**
* action new
*
* @param \Vendor\Extname\Domain\Model\Contract $contract
*/
public function newAction(\Vendor\Extname\Domain\Model\Contract
$contract = NULL)
{
$this->view->assign('contract',$contract);
}
/**
* action create
*
* @param \Vendor\Extname\Domain\Model\Contract $contract
*/
public function createAction(\Vendor\Extname\Domain\Model\Contract
$contract)
{
$this->contractRepository->add($contract);
$this->redirect('list');
}
In einer Testextension wirft mir der Extensionbuilder folgendes raus:
/** * action new * * @return void */ public function newAction() { } /**
* action create * * @param \Testthree\Testthree\Domain\Model\Main
$newMain * @return void */ public function
createAction(\Testthree\Testthree\Domain\Model\Main $newMain) {
$this->addFlashMessage('The object was created. Please be aware that
this action is publicly accessible unless you implement an access check.
See
http://wiki.typo3.org/T3Doc/Extension_Builder/Using_the_Extension_Builder#1._Model_the_domain',
'', \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);
$this->mainRepository->add($newMain); $this->redirect('list'); } wobei
der Viewhelper für New dann folgendes Formular enthält. <f:render
partial="FormErrors" arguments="{object:Main}" /> <f:form
action="create" enctype="multipart/form-data" name="newMain"
object="{newMain}"> <f:render partial="Main/FormFields" />
<f:form.submit value="Create new" /> </f:form> a) Hast du deine
Namensgleichheit bei Create und dem von dir erwarteten Objekt überprüft?
b) Warum braucht dein New einen Parameter? Die New-Aktion dient doch nur
dazu, ein unbeflecktes Formular auszu8geben Die Create-Aktion brauch
natürlich ein Object, da es die Daten aus dem abgeschickten Formular
verarbeiten soll. Eine weitere, vermutlich wahrscheinlichtere
Fehlermöglichkeit kann die "IRRE-Falle" sein. Wenn du per Action für ein
IRRE-Feld ein neues Element schaffen willst und wenn das IRRE-feld nur
ein Elmenet zulässt, dann kann deine Create-Aktion auch nur einmal
funktionieren. Jede weitere Creation verhindern deine TCA-Einstellungen.
Mit besten Grüßen Dieter
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german