问题如下。我做了一个扩展,我有一个列表视图和详细信息视图。列表视图工作正常。当我进入详细视图并尝试通过Show.html渲染部分时出现问题。 问题将在结构后详细解释。
这是结构:
↳私人
↳局部模板
↳详细
↳公寓
↳模板
↳ImmobilieImport
↳List.html
↳Show.html
所以在Show.html上我有这个:
<f:render partial="Detail/Apartment" arguments="{_all}" />
在Apartment.html上我有一个要读的变量:
{immobilieImport.street}
当我调用列表视图并单击某个对象时,它会将我重定向到它想要执行的详细视图。我得到了正确的价值观,一切正常。但是,当我回到另一个对象,并单击它以访问详细视图时,它不会呈现部分和Show.html。
我的配置no_cache = 0
加上我也在页面属性上关闭了缓存。
当我使用<f:debug>{immobilieImport}</f:debug>
时,我会返回所有正确的值,但它不会在前端显示html。
TYPO3版本7.6.23
任何想法发生了什么?如果您需要更多信息,请随时提出。
祝你好运
答案 0 :(得分:0)
我找到了问题的解决方案,我将详细解释,如果其他人有同样的问题,他可以找到答案。
如果有人使用FlexForm设置,问题可能非常普遍。
在我的列表视图中,我有一个<f:if>
语句,我评估创建日期是否少于30天。我通过让用户自己定义时间来使其变得灵活。为了让用户这样做,您需要在FlexForm上添加设置。所以在我的FlexForm上,我有这个:
<settings.timeToGetOld>
<TCEforms>
<label>Number of days that stays as "New"</label>
<displayCond>FIELD:switchableControllerActions:=:ImmobilieImport->list;ImmobilieImport->show</displayCond>
<config>
<type>input</type>
<size>6</size>
<max>6</max>
<eval>int</eval>
<default>30</default>
</config>
</TCEforms>
</settings.timeToGetOld>
领域:switchableControllerActions:=:ImmobilieImport-&GT;列表; ImmobilieImport-&gt;显示
这实际上只是列表视图,它的编写方式是因为它是&#34;控制器动作组合&#34;。
在我的控制器和列表操作上:
$this->view->assign('settings', $this->settings);
然后我的流体:
f:if condition="{f:format.date(date: '{immobilieImport.creationDate}', format: 'Y-m-d')} > {f:format.date(date: 'now-{settings.timeToGetOld} days', format: 'Y-m-d')}"><span class="new_object">New</span>
当我尝试在详细信息视图中使用该评估时出现问题。由于我没有为细节视图指定任何设置字段,因此流体引擎无法处理评估,因此通过不显示任何内容而导致错误。鉴于它从顶部到底部读取文档,当流体引擎遇到问题时,它停止了。
在我弄清楚问题是什么后,我又在我的FlexForm上添加了一个设置:
<settings.timeToGetOldDetailView>
<TCEforms>
<label>Number of days that stays as "New"</label>
<displayCond>FIELD:switchableControllerActions:=:ImmobilieImport->show</displayCond>
<config>
<type>input</type>
<size>6</size>
<max>6</max>
<eval>int</eval>
<default>30</default>
</config>
</TCEforms>
</settings.timeToGetOldDetailView>
现在我已将displayCond
仅更改为详情视图(显示),并且我已将我的Fluid(Show.html)更改为{settings.timeToGetOldDetailView}
:
f:if condition="{f:format.date(date: '{immobilieImport.creationDate}', format: 'Y-m-d')} > {f:format.date(date: 'now-{settings.timeToGetOldDetailView} days', format: 'Y-m-d')}"><span class="new_object">New</span>
我还在我的控制器上添加了这个:
$this->view->assign('settings', $this->settings);
现在一切正常。