有人可以向我解释一下typo3中USER_INT的含义是什么?我知道它以某种方式禁用了插件的缓存,但我不明白为什么它被调用" USER_INT" (尤其是INT部分令人困惑)。谢谢。
答案 0 :(得分:4)
这是历史名称。它可以通过不同的方式来包含php脚本。还有一些更像“tt_content”(“拼写表”)的东西。不要过多考虑它。
_INT表示:未缓存的内容。而不是输出,在缓存的内容中有一些占位符,因此TYPO3会解析这些哈希并动态创建该部分内容。
这意味着,如果有一个或多个占位符,TYPO3需要为每个请求执行代码。为此,您可能需要定义includeLibs - 如果您需要加载其他脚本。
page = PAGE
page.typeNum=0
page.30 = USER_INT
page.30 {
userFunc = user_various->listContentRecordsOnPage
reverseOrder = 1
# include these files, before executing user_various->listContentRecordsOnPage
includeLibs = fileadmin/example/example_callfunction.php
}
答案 1 :(得分:0)
我明白这是一个老问题。但是,这里会留下答案,希望能帮助别人。为了简单起见,我将用外行的术语解释它。
USER
对所有用户都是全局的。
USER_INT
是用户[浏览器]特定的。
INT代表“内部缓存”,这意味着TYPO3不会缓存对象。
实施例:
假设JMC\Ag\Utility\UX\Renderer->a
处理用户登录,并且假设成功登录后将显示消息“欢迎”,后跟用户名称,将显示在站点上。以下代码将在我登录帐户后立即向所有浏览全球网站的人显示“欢迎,约翰”:
__FRAMEWORK {
postCodefeature.5 = USER
postCodefeature.5.userFunc = JMC\Ag\Utility\UX\Renderer->a
}
这是因为我的浏览数据将存储在网站的 通用 (一般)用户会话变量中,每个人都在浏览网站可以访问。
以下代码在我登录帐户后,将仅在我的浏览器中显示“欢迎,约翰” :
__FRAMEWORK {
postCodeContentBlock-1.5 = USER_INT
postCodeContentBlock-1.5.userFunc = JMC\Ag\Utility\UX\Renderer->a
}
这是因为我的数据现在存储在 用户特定的 (浏览器)会话变量中,只有我可以访问浏览网站。该网站的每个用户都有一个。
注意:没有必要知道这些数据的存储位置。 TYPO3会自动执行此操作,因此切换为USER
和USER_INT
。