如何在TYPO3中显示未缓存的fe_user数据?根据{{3}}。 如果用户登录,ViewHelper会设置$ GLOBALS [' TSFE'] - > no_cache = 1.是否有更好的方法?因为不是整个页面不应该被缓存,只是它的某些部分。
答案 0 :(得分:1)
不幸的是,这是不可能的。
最好的方法是,使用名为eID或TypeNum的AJAX呈现未缓存的fe_user数据,并完整地缓存整个页面。 像这个: http://www.typo3-tutorials.org/cms/typo3-und-ajax-wie-geht-das.html
答案 1 :(得分:1)
您的示例代码已禁用整个页面的缓存。但您只需要为显示用户特定数据的部分禁用缓存。除了缓存中的任何部分之外,您还需要选择是否仅缓存
ext_localconf.php
中声明您的插件无法访问)COA_INT
(或其他未缓存的对象))v:render.uncache()
VH:vhs)[1] viewhelper派生自AbstractConditionViewHelper,它使用Compilable接口来缓存结果,必须重写AbstractConditionViewHelper中的compile()方法并返回常量
\TYPO3\CMS\Fluid\Core\Compiler\TemplateCompiler::SHOULD_GENERATE_VIEWHELPER_INVOCATION
像这样:
public function compile(
$argumentsVariableName,
$renderChildrenClosureVariableName,
&$initializationPhpCode,
\TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\AbstractNode $syntaxTreeNode,
\TYPO3\CMS\Fluid\Core\Compiler\TemplateCompiler $templateCompiler
) {
parent::compile(
$argumentsVariableName,
$renderChildrenClosureVariableName,
$initializationPhpCode,
$syntaxTreeNode,
$templateCompiler
);
return \TYPO3\CMS\Fluid\Core\Compiler\TemplateCompiler::SHOULD_GENERATE_VIEWHELPER_INVOCATION;
}