首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TYPO3部分呈现不能正常工作

TYPO3部分呈现不能正常工作
EN

Stack Overflow用户
提问于 2018-02-20 11:14:50
回答 1查看 143关注 0票数 1

问题如下。我做了一个扩展,我有一个列表视图和详细视图。列表视图工作正常。当我继续详细视图并试图通过Show.html呈现一个部分时,问题就会出现。这个问题将在结构之后详细解释。

这是一个结构:

↳私有

准成本-无偿的↳-部分

自愿

商业、社会、经济、经济、社会、经济、社会发展等各方面的经济、社会、经济、社会、经济、经济、社会、经济、社会发展等各方面,特别是国家和地区的经济、金融等领域的自愿性、高成本的

↳/T1587-1993技术条件比较高的↳模板

目的

             ↳ List.html

             ↳ Show.html

因此,在Show.html上,我有以下内容:

代码语言:javascript
复制
<f:render partial="Detail/Apartment" arguments="{_all}" />

在Apartment.html上,我有一个变量可读:

代码语言:javascript
复制
{immobilieImport.street}

当我调用list视图并单击一个对象时,它将我重定向到detail视图,就像它应该做的那样。我得到了正确的值,一切都很好。但是,当我返回到另一个对象并单击它访问detail视图时,它不会呈现部分或Show.html。

我在配置no_cache = 0上也关闭了页面属性上的缓存。

当我使用<f:debug>{immobilieImport}</f:debug>时,我会得到所有正确的值,但它不会在前端显示html。

TYPO3版本7.6.23

知道发生了什么事吗?如果你需要更多的信息,可以随意询问。

诚挚的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-20 13:43:15

我找到了我的问题的解决方案,我会详细解释,如果其他人有同样的问题,他可以找到答案。

如果有人使用FlexForm设置,这个问题可能很常见。

在列表视图中,我有一个<f:if>语句,其中计算创建日期是否小于30天。我让用户自己定义时间,使它变得灵活。为了让用户这样做,您需要在FlexForm上添加设置。所以在我的FlexForm上,我有一个:

代码语言:javascript
复制
<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>

FIELD:switchableControllerActions:=:ImmobilieImport->list;ImmobilieImport->show

这实际上只是列表视图,它是这样写的,因为它是“控制器操作组合”。

在我的控制器和列表操作上:

代码语言:javascript
复制
$this->view->assign('settings', $this->settings);

然后用我的液体:

代码语言:javascript
复制
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上添加了一个设置:

代码语言:javascript
复制
<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更改为Detail (显示),并将流体(Show.html)更改为{settings.timeToGetOldDetailView}

代码语言:javascript
复制
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>

我还在我的主计长上添加了以下内容:

代码语言:javascript
复制
$this->view->assign('settings', $this->settings);

现在一切都很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48884024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档