首页  >  问答  >  正文

在控制器操作中设置TYPO3的cookie

我尝试在通过 typenumcall 调用的常规控制器操作中设置 cookie。 我使用的是 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;
}

我尝试使用 PSR7-HTTP-Response,但由于某种原因,调用该操作后未设置 cookie。看起来 $response 对象被完全忽略了。 如何正确使用ResponseInterface?

我已经看到了这个线程,但它不在中间件中,而且此时也没有 fe_session: TYPO3 如何在表单整理器内设置自定义 cookie

P粉037880905P粉037880905282 天前328

全部回复(1)我来回复

  • 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;

    回复
    0
  • 取消回复