persistentni parametr v komponente
- vosy
- Člen | 532
Ahoj, mam komponentu „mainSearchTabControl“ s vyhledavacim formularem a potrebuju mu predat hodnoty z url takze pres parametr @persistent, staci definovat tento parametr pouze v tovarnicce nebo ho musim definovat i v presenteru?
mam:
presenter
class VstupniTelefonatyPresenter
extends \App\AdminModule\Presenters\InPresenter
{
.....
/* ACTIONS */
function actionDefault()
{
$this->nadpisSekce = 'Seznam vstupních telefonátů';
$this->submenu['seznam']['active'] = true;
$this['mainSearchTabControl']->nastavitForm();
......
a komponentu:
class MainSearchTabControl
extends \App\AdminModule\Components
{
....
/** @persistent */
public $sch_jmeno = '';
.....
/* */
function nastavitForm()
{
$form = $this['search_Main_Form'];
$vyhlArr = array(
'sch_jmeno');
foreach($vyhlArr as $v1)
{
// echo $v1.' - '.$this->$v1;
$form[$v1]->setDefaultValue($this->$v1);
}
}
a url:
.....vstupni-telefonaty/?sch_jmeno=jan
ale v komponente $this->sch_jmeno nezobrazi nic :(
- vosy
- Člen | 532
CZechBoY napsal(a):
@vosy a vkladas tam nekdy neco?
Dobrá otázka :D
url mam .....vstupni-telefonaty/?sch_jmeno=jan
takze teoreticky by se tam melo vlozit z URL
pokud nadefinuju tuto promenou jako persistent v presenteru tak vse frci jak
ma.
Otazka zni jestli si ti zasirat presenter nebo tu promenou mit nadefinovanou jen
v Komponente ktera s ni pracuje.
Nevimjestli to tak lze resit. DIX
- vosy
- Člen | 532
CZechBoY napsal(a):
Ta url je špatně, nevidim tam jméno komponenty (ta url nastavuje parametr jen v presenteru).
Jak se to do tý url dostane? Měl bys správně zapisovat do property v komponentě a Nette se potom samo postará o přenesení.
ahahaha to asi bude ono, jak by mel vypadat parametr kdyz jmeno komponenty je „aaa“ treba
ve formulari mam prikaz:
$vals['sch_jmeno'] = 'karel';
$presenter->redirect('default', $vals);
da se do toho redirektu nejake implementovat nazev komponenty aby se url vygenerovalo samo?
Editoval vosy (16. 3. 2017 10:37)