控制器动作-重定向到另一个模板

时间:2019-09-24 12:02:36

标签: forms redirect fluid extbase typo3-9.x

我正在寻找一种满足某些条件的重定向到另一个模板的方法。

赞:

public funtion redirectAction() {
 if(certain conditions = TRUE){
  REDIRECT TO ANOTHER TEMPLATE WITH DIFFERENT CONTENT
 }
}

我已经在现有动作中看到了一些表情:

$this->redirect('list');

在这种情况下,'list'是默认的List.html模板,对吗? 因此,我认为如果将'list'替换为其他模板名称,则可以解决此问题。但是我收到一个opps错误。

或者还有其他调用其他模板的解决方案吗?

非常感谢您!

1 个答案:

答案 0 :(得分:0)

通过控制器中的重定向,您总是可以重定向到另一个功能,而不是模板。

例如

$this->redirect('list2');

然后您将重定向到函数list2Action(),这将需要一个模板List2.html

但是,通常在流体中使用开关更容易。 例如:

<f:if condition="{abc} == 1">
<f:then>
   <f:render partial="TempalteAbcTrue" arguments="{_all}" />
</f:then>
<f:else>
    <f:render partial="TempalteAbcFalse" arguments="{_all}" />
</f:else>

如果使用extbase的常规文件夹结构,则将具有“布局”,“模板”和“部分”文件夹。 在上面的示例中,您可以在“ Partials”文件夹中创建2个文件:“ TempalteAbcTrue.html”和“ TempalteAbcFalse.html”。