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

Antwort per Email an