Setzen Sie das Cookie von TYPO3 in der Controller-Aktion
P粉037880905
P粉037880905 2024-02-03 20:29:14
0
1
353

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粉037880905
P粉037880905

Antworte allen(1)
P粉041758700

由于 $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;
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage