RedrawControl nefunguje z action

Ja
Člen | 260
+
0
-

Ahoj, je zde nekdo komu funguje redrawControl v action metode? jde to vubec? nedari se mi to zprovoznit.

Zdrojovy kod je nasledujici:

public function actionAjax()
{
   $this->flashMessage('test');
   $this->redrawControl();
}

Ajaxovy response z te action ale zadne snippety neobsahuje. Pokud ale pouziju handle, tak se snippety v response vrati uplne v pohode.

Testovano na cistem nette 2.4. sandboxu.

Diky za jakekoli postrceni.

Editoval Ja (23. 12. 2017 16:21)

Ja
Člen | 260
+
0
-

Nasel jsem problem – kdyz se vola ajaxove actionAjax, musi:

  1. existovat sablona ajax.latte
  2. musi tam byt {block content}, nebo zkratka neco, aby to vyuzilo hlavni layout, pak to zacne chodit
MajklNajt
Člen | 494
+
0
-

Ahoj, riešil som práve podobný problém, a funguje mi to tiež takto:

<?php
public function actionAjax()
{
    // akcia...
    $this->forward("default");
}

public function renderDefault()
{
    if($this->isAjax()) {
        $this->redrawControl();
    }
}
?>

Forward preto, lebo redirect by vyvolal presmerovanie browseru. Netreba takto vytvárať zbytočnú šablónu.