【问题标题】:typo3 extension delete cache and session错字3扩展删除缓存和会话
【发布时间】:2018-02-09 15:37:12
【问题描述】:

您好,我有typo3 扩展名,这是一家小商店。

我想要的是删除整个会话并在订单后缓存。

如何在我的控制器中以编程方式执行此操作?

提前致谢。

更新:

你的权利,刷新完整缓存不好,我只是重读了我的代码;)我认为这足以清除 cockies。

我设置了以下值:

$order_data = array();
$order_data = $GLOBALS['TSFE']->fe_user->getKey('ses', USER_ORDER);
$order_data['firstname'] = $_COOKIE["firstname"];
$order_data['lastname'] = $_COOKIE["lastname"];
$order_data['email'] = $_COOKIE["email"];
$GLOBALS['TSFE']->fe_user->setKey('ses', USER_ORDER, $order_data);
$GLOBALS['TSFE']->storeSessionData();

什么是删除 FE 用户和 USER_ORDER 数据的好方法?

谢谢

【问题讨论】:

    标签: typo3 typo3-6.2.x


    【解决方案1】:

    注意:在运行时由用户 FE 点击发起的刷新整个缓存是一个非常糟糕的主意。它不仅会严重减慢您的系统速度,而且如果您必须做类似的事情,您应该更好地修复您的扩展程序以不依赖这些事情。你在这里要求一个邪恶的黑客攻击。

    要回答您的问题,最残酷的变体是“GeneralUtility::makeInstance(CacheManager::class)->flushCaches();”。不,请真的不要那样做。可以这么说,这与“green-IT”相反;)相反,正确地在缓存中进行标记,刷新您真正需要的内容(flushByTag()),然后查看 USER / USER_INT 处理。

    对于 Session 的东西,SessionManager 类和其背后的类应该允许操纵会话。

    【讨论】:

    • 是的,你是对的,我在上面添加了更多细节和更具体的问题
    • 我试过这个:$GLOBALS['TSFE']->fe_user->removeSessionData(); 但它不能解决我的问题
    猜你喜欢
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 2015-09-27
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 2021-06-07
    相关资源
    最近更新 更多