javascript - TYPO3 扩展名 : Accessing the TYPO3 session variable from javascript?

标签 javascript typo3 session-variables

这听起来可能有点不精确,但是是否可以更改 TYPO3 session 变量

$GLOBALS["TSFE"]->fe_user->setKey('ses', 't_minus', 0);

从javascript以某种方式在listAction中处理变量来指定要显示或不显示的某些记录?

更详细地说:我正在开发日历扩展。日历是用 javascript 生成的(这是我不负责的部分)。 listAction 基本上生成一个 JSON 对象或记录,这些对象或记录在特定间隔内(过去 2 周, future 3 周)具有 unix 时间戳。 javascript 有一个按钮“向前一周”/“向后一周”。前一周应从 session 变量中减去 604800(1 周),前一周应向 session 变量添加 604800(1 周)。

在 listAction 中, session 变量调整时间戳间隔(向前/向后 n 周),或者更确切地说,哪些记录应放入 JSON 对象中。

是否可以从 JavaScript 访问 session 变量,或者这是否违反安全要求?

最佳答案

无法直接通过 JavaScript 更改 TYPO3 session 内容。您可能可以通过 javascript 访问 PHP session cookie - 我对此不太确定 - 但 session 变量存储在 TYPO3 DB 中。它们通过 PHP 进行序列化和加密,您将无法通过 Javascript 访问它们。这只能通过 PHP 实现。

您可以做什么:在 Controller 中创建 oneWeekForwardActiononeWeekBackAction。读取您的 session cookie 并根据您的需要进行修改。这些操作可以通过 Ajax 激活。为此,您必须提前在 Fluid 模板中创建带有 f:uri.action 的适当链接!将这些字符串放置在 JSON 对象中的某个位置。然后您可以将这些链接连接到点击事件。

不要忘记使用 page.config.disableAllHeaderCode 生成特殊的 AJAX 页面类型。如果您搜索此内容和 Ajax 您会找到示例,例如这个:

[http://www.sklein-medien.de/tutorials/detail/erstellung-einer-typo3-extension-mit-ajax-aufruf/]

它是 2016 年的版本,使用 Extbase/Fluid。

关于javascript - TYPO3 扩展名 : Accessing the TYPO3 session variable from javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48708802/

相关文章:

session-variables - OWIN 自主机中等效的 session 变量

php - 注册后登录/重定向 PHP mySQL

swift - 变量类型 : global, swift 中的应用程序、 session 或 cookies 变量?

javascript - font-awesome 图标不会转换转换 :rotate(180deg)

javascript - 无法使 Angular 应用程序在 meteor 模板中运行

javascript - 表行不会显示从休息得到的数据

session - Typo3 Extbase 从 Session 中设置和获取值

javascript - 检索 HTML 表中复选框选定行的第一列值并相应地修改数据库

typo3 - 在 Extbase 6.2 中,列表页面不再使用 uid

typo3 - 发送TYPO3 EXT :powermail mail to different receivers depending on selection in a dropdown