přenačtení stránky se zachováním vložených SNIPPET
- vlkodlak
- Člen | 175
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
$this->redirect('b', ['snippets' => 'BB']);
Prostě si to předej v parametru a pak to vykresli rovnou, nečekej na ajaxové zavolání.