Nette Framework pouzivanie session
- Takeshi
- Člen | 596
Ahojte,
mam dalsi maly problem ked chcem pouyivat SESSION, tak podla dokumentacie by som to mal spravit pravdepodobne takto…
<?php
$session = $container->getService('session');
$session->name = 'Johny';
?>
… ale nepozna premennu $container, … co mi chyba? dik
Editoval Takeshi (1. 1. 2014 14:18)
- David Matějka
- Moderator | 6445
chyba ti premenna $container :)
ted vazne:
v presenteru pouzij $this->getSession($section)
, ve sluzbe si
injectni jako zavislost Nette\Http\Session, na ktere muzes volat metodu
getSection pro ziskani konkretni sekce
- Takeshi
- Člen | 596
matej21 napsal(a):
chyba ti premenna $container :)
ted vazne:
v presenteru pouzij$this->getSession($section)
, ve sluzbe si injectni jako zavislost Nette\Http\Session, na ktere muzes volat metodu getSection pro ziskani konkretni sekce
A ako to, prosim ta, urobim? Teda zisiel by sa podrobnejsi navod. Dik :-)
- Takeshi
- Člen | 596
matej21 napsal(a):
a kde chces session pouzivat?
Pokial je formular (tovarnicka) spravne vyplneny, prebehne onSuccess[] . V tejto funkcii by som nastavil hodnoty formulara do session a predal ich na dalsiu stranku … teda nieco ako potrdenie formulara …
P.S. Viem ze by sa to dalo spravit jednoducho … proste nastavit formularu action(dalsia_strana) , ale pri formulari sa mi nezobrazuje alert sprava pre …
<?php
$form->addUpload("image","Fotka *")
->setRequired("Všetky polia musia byť vyplnené.")
->addRule(Form::IMAGE,"Obrázok musí byť typu JPEG, PNG alebo GIF.")
->addRule(Form::MAX_FILE_SIZE,"Súbor musí mať veľkosť menšiu ako 8 MB.",8*1024*1024); // len toto funguje
?>
… ale to som trochu odbocil … no proste som sa musel zariadit inak
- David Matějka
- Moderator | 6445
no tak to je to nejjednudossi:
$session = $this->getSession('nazevSekce');
$session->foo = 'bar';
- Takeshi
- Člen | 596
matej21 napsal(a):
no tak to je to nejjednudossi:
$session = $this->getSession('nazevSekce'); $session->foo = 'bar';
OK … tak uz fat neviem v com robim chybu … skusal som to aj takto v Presenteru 1 vo funkcii onSuccess[]
<?php
$confirm = $this->getSession('confirm');
$confirm->name = 'Johny';
?>
ako to teda vykreslim v druhej sablone, teda na inom mieste? … klasicky vypis
<?php
{$confirm->name}
?>
… asi nebude stacit … teda urcite …
- David Matějka
- Moderator | 6445
no musis si tu session sekci znovu vytahnout a poslat do sablony
$this->template->confirm = $this->getSession('confirm');