Změna šablony komponety a zavolání redrawcontrol po zpracování formuláře
- kalipny
- Člen | 19
Mám standardní komponentu, k ní mám vytvořenou šablonu X a Y.
Z této šablony zavolám signálX, který změní šablonu X na šablonu Y,
která v sobě obsahuje fomulář. – Funguje
Co ale nevím, je jak po zpracování fomuláře provést změnu šablony Y zpět na šablonu X (respektive jak zavolat signálY danné komponenty přímo ze zpracovávaného formuláře).
Jinak mohu sice redirectnout, ale ztratím tím výhodu ajaxového chování.
Konstrukce komponenty je standardní:
<?php
class PolozkaCmp extends UI\Control
{
private x;
function __construct()
{
parent::__construct();
$this->x = 100;
}
public function handlesignalX(){
$this->x = 200;
$this->getpresenter()->redrawControl('panel');
}
public function handlesignalY(){
$this->x = 100;
$this->getpresenter()->redrawControl('panel');
}
public function render( )
{
if ($this->x == 100) {
$this->template->setFile(__DIR__ . '/'.strtolower('sablonax.latte')');
} elseif ($this->x == 200) {
$this->template->setFile(__DIR__ . '/'.strtolower('sablonay.latte'));
}
$this->template->render();
}
//======================================================================================================
protected function createComponentPForm($name)
{
$form = new \PForm();
return $form;
}
}
?>
Editoval kalipny (19. 9. 2018 11:58)