Php Typo3Fluid FE在创建缓存文件时崩溃,错误为:getViewHelper()

Php Typo3Fluid FE在创建缓存文件时崩溃,错误为:getViewHelper(),php,caching,fluid,flux,typo3-6.2.x,Php,Caching,Fluid,Flux,Typo3 6.2.x,我已将Typo3从带有FED的6.1.x升级到6.2.17,并提供了以下Typo3流体扩展: 建筑商(1.0.0) 流体含量(4.3.3) 流体图像(3.3.1) 焊剂(7.2.3) vhs(2.3.3) 我在Typo3Fluid网站上的迁移文档的指导下做了很多模板迁移,但是如果我将它们放入主题提供程序扩展中,我的系统就会崩溃 我已经尝试了fluid builder中的示例模板,它们似乎可以工作,但是如果我添加一个重构模板,就会发生错误 后端的加载/渲染速度非常慢,但我不介意当前的情况 前端

我已将Typo3从带有FED的6.1.x升级到6.2.17,并提供了以下Typo3流体扩展:

  • 建筑商(1.0.0)
  • 流体含量(4.3.3)
  • 流体图像(3.3.1)
  • 焊剂(7.2.3)
  • vhs(2.3.3)
我在Typo3Fluid网站上的迁移文档的指导下做了很多模板迁移,但是如果我将它们放入主题提供程序扩展中,我的系统就会崩溃

我已经尝试了fluid builder中的示例模板,它们似乎可以工作,但是如果我添加一个重构模板,就会发生错误

  • 后端的加载/渲染速度非常慢,但我不介意当前的情况
  • 前端显示错误500,在php日志中告诉我
    php致命错误:在第17行的C:\xamppnew\htdocs\[Project]\web\typo3temp\Cache\code\fluid\template\ThemeProvider\u Content\u action\u render\u eed9cf578f1072dfb942bb46036ee78de97954d.php中对非对象调用成员函数getViewHelper()
  • 我进一步查看了2,具体的一行显示了
    $self->getViewHelper(…
    ),但是
    $self
    从未在处理过的文件中定义过。对此我没有任何想法

        public function getLayoutName(\TYPO3\CMS\Fluid\Core\Rendering\RenderingContextInterface $renderingContext)
        {
    // Rendering ViewHelper FluidTYPO3\Vhs\ViewHelpers\Extension\LoadedViewHelper
            $arguments53 = array();
            $arguments53['extensionName'] = 'fluidcontent_core';
            $arguments53['then'] = 'ContentCore';
            $arguments53['else'] = 'Content';
            $renderChildrenClosure54 = function () use ($renderingContext, $self) {
                return NULL;
            };
            $viewHelper55 = $self->getViewHelper('$viewHelper55', $renderingContext, 'FluidTYPO3\Vhs\ViewHelpers\Extension\LoadedViewHelper');
            $viewHelper55->setArguments($arguments53);
            $viewHelper55->setRenderingContext($renderingContext);
            $viewHelper55->setRenderChildrenClosure($renderChildrenClosure54);
    // End of ViewHelper FluidTYPO3\Vhs\ViewHelpers\Extension\LoadedViewHelper
    
            return $viewHelper55->initializeArgumentsAndRender();
        }
    
    以下是我试用过的FCE:

    <div xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers"
         f:schemaLocation="https://fluidtypo3.org/schemas/fluid-6.2.0.xsd"
         xmlns:flux="http://typo3.org/ns/FluidTYPO3/Flux/ViewHelpers"
         flux:schemaLocation="https://fluidtypo3.org/schemas/flux-7.2.2.xsd">
    
        <f:layout name="Content"/>
    
        <f:section name="Configuration">
            <flux:form id="box2col_1-1" label="Container: 2 Spalten 1/1" >
                <flux:grid>
                    <flux:grid.row>
                        <flux:grid.column name="col-foo" colPos="0" style="width:50%;"/>
                        <flux:grid.column name="col-bar" colPos="1" style="width:50%;"/>
                    </flux:grid.row>
                </flux:grid>
            </flux:form>
        </f:section>
    
        <f:section name="Preview">
            2 Spalten mit gleicher Breite
            <br/>
            <flux:widget.grid/>
        </f:section>
    
        <f:section name="Main">
            <div>
                <div class="small-6 large-6 columns">
                    <flux:content.render render="1" area="col-foo"/>
                </div>
    
                <div class="small-6 large-6 columns">
                    <flux:content.render render="1" area="col-bar"/>
                </div>
            </div>
        </f:section>
    </div>
    
    
    2个意大利面
    
    希望您对这个问题有新的想法或解决方案,提前谢谢

    干杯

    托拜厄斯


    一些新闻关于这一点,我根据通量和流体的文档稍微更改了FCE,并包含了稍微不同的shema(上面的代码示例已更新)

    现在后端更好了,甚至在我删除缓存文件夹后,前端也会呈现所有内容,但是在第二次重新加载时,如果缓存文件已经创建,问题2.仍然会发生

    本问题解决了后端问题