Hallo,
ich stehe wieder einmal vor einem kleinen Problem:
Ich möchte den User mit seinem Namen (in der View) begrüßen. Dazu hole ich mir nach dem Post den Usernamen aus dem Formular.
Die klappt soweit auch nach dem ersten Absenden.
Wenn der User jedoch bereits angemeldet ist und zurückkehrt, findet ja kein Post mehr statt und der Username ist leer.
Hier mal meine indexAction:
PHP-Code:
public function indexAction() {
$form = $this->getLoginForm();
$superUser = new SuperUser();
$user = new User();
$viewModel = new ViewModel();
$viewModel->setVariable( 'form', $form );
$request = $this->getRequest();
if ( $request->isPost() ) {
$form->setData( $request->getPost() );
if ( $form->isValid() ) {
try {
$accountName = strtolower( $form->get( 'AccountName' )->getValue() );
$superUser->_accountName = $accountName;
$user->_superAccountName = $accountName;
$superUser = $this->getSuperUserTable()->getUser( $superUser );
$viewModel->setVariable( 'superUser', $superUser ); // Auf das Superuser Objekt möchte ich in der View zugreifen. Auch nach einem Request, der kein Post ist! Wie stelle ich das am besten an?
} catch ( \Exception $e ) {
$viewModel->setVariable( 'message', 'Anmeldedaten falsch!' );
return $viewModel;
}
if ( ! $this->authenticate( $this->getHash( $form ), $form )->isValid() ) {
$viewModel->setVariable( 'message', 'Anmeldedaten falsch!' );
}
}
}
$flashmessenger = $this->flashMessenger();
if ($flashmessenger->hasInfoMessages()) {
$return = array();
$return['messages'] = $flashmessenger->getInfoMessages();
$viewModel->setVariable('successMessages', $return['messages']);
}
return $viewModel;
}
Lesezeichen