首頁  >  問答  >  主體

在控制器操作中設定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 天前337

全部回覆(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
  • 取消回覆