3

谁能向我解释一下typo3中USER_INT的含义是什么?我知道它以某种方式禁用了插件的缓存,但我不明白为什么它被称为“USER_INT”(尤其是 INT 部分令人困惑)。谢谢你。

4

2 回答 2

4

那是历史名称。公平地说,它与包含 php-scripts 的不同方式有关。还有一些类似“tt_content”(“typo table”)的东西。不要想太多。

_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
}
于 2013-05-06T13:38:06.190 回答
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
    }

这是因为我的浏览数据将存储在站点的公共通用)用户会话变量中,浏览该站点的每个人都可以访问该变量。

以下代码将仅在我的浏览器中显示“Welcome, John” ,一旦我登录到我的帐户:

__FRAMEWORK {
        postCodeContentBlock-1.5 = USER_INT
        postCodeContentBlock-1.5.userFunc = JMC\Ag\Utility\UX\Renderer->a
    }

这是因为我的数据现在存储在用户特定的浏览器)会话变量中,只有我在浏览网站时可以访问。该网站的每个用户都会得到一个。

注意:不必知道这些数据的存储位置。TYPO3 自动执行此操作,因此开关:USERUSER_INT.

于 2017-01-30T15:03:01.090 回答