繁体   English   中英

TYPO3扩展:从javascript访问TYPO3会话变量?

[英]TYPO3 extension: Accessing the TYPO3 session variable from javascript?

这听起来可能有些不准确,但是可以更改TYPO3会话变量

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

从JavaScript以某种方式在listAction内处理变量以指定要显示或不显示某些记录?

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

在listAction中,会话变量调整时间戳记间隔(向前/向后n周),或者将哪些记录放入JSON对象。

是否可以从javascript访问会话变量,否则是否违反安全要求?

我将创建一个PHP函数来更改此会话变量(例如,具有eID功能),然后通过JavaScript中的AJAX调用该函数。 更多信息请参见: https//seethroughweb.com/ajax-with-typo3/

(对不起,找不到英文更好的手册,您需要使用新的类名)

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

您可以执行的操作:在控制器中创建oneWeekForwardActiononeWeekBackAction 阅读您的会话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。

这不是安全问题。 会话的思想是通过一系列多个HTTP请求将其绑定到服务器上的相同数据。 Javascript位于浏览器中。 JavaScript无法直接访问服务器上的数据。

如果您仅负责JS,则另一个人的工作就是为您提供会话数据的接口。

是的,我认为将浏览器中的计算结果与服务器中的数据同步是个好主意,否则日历数据很快就会不同步。 我什至会走得更远,因为服务器比JS更可靠,服务器应该负责这种计算。 因此,负责PHP的人应该做主要工作并通过AJAX向您提供结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM