Действие контроллера - перенаправление на другой шаблон - PullRequest
0 голосов
/ 24 сентября 2019

Я ищу способ перенаправления на другой шаблон, если выполняются определенные условия.

Например:

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

Я видел некоторые выражения в существующих действиях:

$this->redirect('list');

В этом случае 'list' является шаблоном List.html по умолчанию, верно?Поэтому я подумал, что если я заменю 'list' другим именем шаблона, это решит проблему.Но я получаю ошибку opps.

Или есть ли другое решение вызова другого шаблона?

Большое спасибо!

1 Ответ

0 голосов
/ 25 сентября 2019

с перенаправлением в контроллере вы всегда перенаправляете на другую функцию, а не на шаблон.

Например, с

$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».В приведенном выше примере вы можете создать 2 файла в папке «Partials»: «TempalteAbcTrue.html» и «TempalteAbcFalse.html».

...