控制器操作 - 重定向到另一个模板
Controller action - redirect to another template
我正在寻找一种在满足某些条件时重定向到另一个模板的方法。
喜欢:
public funtion redirectAction() {
if(certain conditions = TRUE){
REDIRECT TO ANOTHER TEMPLATE WITH DIFFERENT CONTENT
}
}
我在现有操作中看到了一些表达式:
$this->redirect('list');
在这种情况下,'list'
是默认的 List.html
模板,对吗?
所以我想如果我用不同的模板名称替换 'list'
,那将解决问题。但是我收到一个 opps 错误。
或者有调用不同模板的其他解决方案吗?
非常感谢!
在控制器中使用重定向,您总是重定向到另一个函数,而不是模板。
例如
$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 的正常文件夹结构,您将有一个 "Layouts"、"Templates" 和 "Partials" 文件夹。
使用上面的示例,您可以在文件夹 "Partials" 中创建 2 个文件:"TempalteAbcTrue.html" 和 "TempalteAbcFalse.html".
我正在寻找一种在满足某些条件时重定向到另一个模板的方法。
喜欢:
public funtion redirectAction() {
if(certain conditions = TRUE){
REDIRECT TO ANOTHER TEMPLATE WITH DIFFERENT CONTENT
}
}
我在现有操作中看到了一些表达式:
$this->redirect('list');
在这种情况下,'list'
是默认的 List.html
模板,对吗?
所以我想如果我用不同的模板名称替换 'list'
,那将解决问题。但是我收到一个 opps 错误。
或者有调用不同模板的其他解决方案吗?
非常感谢!
在控制器中使用重定向,您总是重定向到另一个函数,而不是模板。
例如
$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 的正常文件夹结构,您将有一个 "Layouts"、"Templates" 和 "Partials" 文件夹。 使用上面的示例,您可以在文件夹 "Partials" 中创建 2 个文件:"TempalteAbcTrue.html" 和 "TempalteAbcFalse.html".