Změna šablony komponety a zavolání redrawcontrol po zpracování formuláře

kalipny
Člen | 19
+
0
-

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)