přenačtení stránky se zachováním vložených SNIPPET

vlkodlak
Člen | 175
+
0
-

Zdravím, rešim teď jednoduchou stránku kde je pár menu a pár šablon. Na jedné z nich provádím úpravu tím, že zaměním vloženou „značku-kotvu“ za obsah. A potřebuji provést refresh stránky a zůstat s načteným obsahem

Příklad

  • Stránka s menu kde si mohu vybrat načtení šablon A.latte, B.latte, C.latte
  • Po načteni stránky B.latte mohu měnit sub-obsah např budu mít
<B>
	<BB>nějaký formulář</BB>
</B>
  • Na sub-stránce (BB) je vložen formulář, který provede SUBMIT a tim se mi stránka překreli na původní tj jen B.latte bez vloženého BB

Rád bych dosáhnout odeslaní formuláře se zachováním umístění načtené stránky … protože je to jednoduchý web chtělo by se mi vyhnout příliš velkého bobtnání ze strany JS např použitim něco jako

$this->redirect(‘B/BB’);

nebo

pomoci snippet a voláním $this->redrawControl("BB");
  • jenže zde se mi nadaři odchytit ten submit formuláře, abych to mohl zpracovat sám a jen překreslit jen kus stránky

formulář na sub stránce BB vytvářim


  protected function createComponentFormEdit($name) {
        $form = new Form($this, $name);

        $form->addText('id', 'Id');
        $form->addText('text', 'Text');

        $form->addSubmit('ok', 'Odeslat')
                ->setAttribute('class', 'btn btn-primary');
        $form->onSuccess[] = array($this, 'formSubmitted');

        return $form;
    }

    public function formSubmitted($dat) {

        $val = $dat->getForm()->getValues();
        $this->flashMessage('Předán text: ' . $val['text'] . ' z formu');
    }
Kamil Valenta
Člen | 811
+
+1
-
$this->redirect('b', ['snippets' => 'BB']);

Prostě si to předej v parametru a pak to vykresli rovnou, nečekej na ajaxové zavolání.