Hi Leute,
vorerst die Anmerkung dass ich n frischer Neuling in der TYPO3 welt bin.
Ich arbeite nun jetzt mit Extbase bzw arbeite mich ein.
Nun hab ich mit dem Extension Builder eine Extension erstellt. Hat alles schön und gut geklappt.
Diese heist Multistep Contact Form
Nun.Ich bin grad an dem Controller dran um ihn ein bisschen aufzupeppen. Ich will von der LwEnetMultipleActionForms daten vererben.
FormularController.php
/**
*
*
* @package lw_enet_multiple_action_forms_example
* @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
*
* @actionSequence new
*
*/
class Tx_LwMultistepContactForm_Controller_FormularController extends Tx_LwEnetMultipleActionForms_MVC_Controller_AbstractController {
//code...
}
Nun meldet er mir hier einen Fehler als ich dieses "extends" eingebaut hatte.
Fatal error: Call to a member function getActionMethodName() on a non-object in lw_enet_multiple_action_forms/Classes/MVC/Controller/AbstractController.php on line 120
/**
*
*
* @package lw_enet_multiple_action_forms
* @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
*
*/
abstract class Tx_LwEnetMultipleActionForms_MVC_Controller_AbstractController extends Tx_Extbase_MVC_Controller_ActionController {
//code...zeile 120 sieht so aus:
/**
* Resolves and checks the current action method name
*
* @return string Method name of the current action
* @throws Tx_Extbase_MVC_Exception_NoSuchAction if the action specified in the request object does not exist (and if there's no default action either).
*/
protected function resolveActionMethodName() {
$actionMethodName = $this->actionSequenceService->getCurrentAction()->getActionMethodName();
$this->initializeActionMethodOverrideConditions($actionMethodName);
/** @var $argument Tx_Extbase_MVC_Controller_Argument */
foreach ($this->request->getArguments() as $argumentName => $argumentValue) {
if (!is_null($this->actionOverrideConstraints[$argumentName])) {
if ($this->actionOverrideConstraints[$argumentName]->isComplied($argumentValue) === TRUE) {
// Forward to next action if this action is to be omitted
$nextAction = $this->actionSequenceService->getNextAction();
if ($actionMethodName !== $nextAction->getActionMethodName()) {
$actionMethodName = $nextAction->getActionMethodName();
$this->actionSequenceService->getCurrentAction()->setOmitted(TRUE);
$this->actionSequenceService->persistOmittedActions();
$this->forward(
$this->actionSequenceService->getNextAction()->getName(),
$this->request->getControllerName(),
$this->request->getControllerExtensionName(),
$this->request->getArguments()
);
} else {
throw new Tx_LwEnetMultipleActionForms_MVC_Controller_Action_Override_Exception_InvalidActionMethod(
'Can\'t resolve action "' . $actionMethodName . '" does not exist in controller "' . get_class($this) . '".',
1322231384
);
}
}
}
}
if (!method_exists($this, $actionMethodName)) {
throw new Tx_Extbase_MVC_Exception_NoSuchAction(
'An action "' . $actionMethodName . '" does not exist in controller "' . get_class($this) . '".',
1186669086
);
}
// Here should the persisted properties be dropped
$this->dropObsoleteProperties($actionMethodName);
return $actionMethodName;
}
Wisst ihr wie ich weiter komme? :S
Habe schon mit new und global veruscht hat aber nichts gebracht(vllt an falscher stelle gesetzt?)