Heim  >  Fragen und Antworten  >  Hauptteil

Setzen Sie das Cookie von TYPO3 in der Controller-Aktion

Ich habe versucht, das Cookie in einer regulären Controller-Aktion zu setzen, die über typenumcall aufgerufen wird. Ich verwende TYPO3 v 10.4

public function redirectCookieAction(): ResponseInterface
{
    //do magic stuff...      

    /** @var \TYPO3\CMS\Core\Http\Response $response */
    $response = GeneralUtility::makeInstance(ResponseFactory::class)->createResponse(200);
    $response->withHeader('Set-Cookie', 'cookiename' . '=' . 'cookievalue' . '; Path=/; Max-Age=' . (time()+60*60*24*30));
    return $response;
}

Ich habe versucht, PSR7-HTTP-Response zu verwenden, aber aus irgendeinem Grund wird das Cookie nach dem Aufruf der Aktion nicht gesetzt. Es sieht so aus, als ob das $response-Objekt vollständig ignoriert wird. Wie verwende ich ResponseInterface richtig?

Ich habe diesen Thread gesehen, aber er befindet sich nicht in der Middleware und es gibt derzeit keine fe_session: TYPO3 So legen Sie benutzerdefinierte Cookies im Formular-Organizer fest

P粉037880905P粉037880905282 Tage vor335

Antworte allen(1)Ich werde antworten

  • P粉041758700

    P粉0417587002024-02-04 17:42:53

    由于 $response 返回其自身的新实例,因此您必须将其分配给一个变量,如下所示

    /** @var \TYPO3\CMS\Core\Http\Response $response */
    $response = GeneralUtility::makeInstance(ResponseFactory::class)->createResponse(200);
    $response = $response->withAddedHeader('Set-Cookie', 'cookiename' . '=' . 'cookievalue' . '; Path=/; Max-Age=' . (time()+60*60*24*30));
    return $response;

    Antwort
    0
  • StornierenAntwort