this->template->premenna po odoslaní formuláru
- qacer
- Člen | 8
Zdravím.
Základné konfiguračné nastavenia si vyberám z databázy
v BasePresenteri a ukladám ich do $this->template->conf
,
aby som ich mohol hneď pekne vypísať (napr. meta-tagy, hlavný title stránky
atď.), no mám tam aj riadiace premenne.
Jedna z nich je aj conf['antispam']
, ktorá, ak má hodnotu
„1“, vo formulári na pridanie komentáru(nachádzajúca sa v
ClankyPresenter extends BasePresenter
) zobrazí captchu takto:
$form = new AppForm;
if($this->template->conf['antispam']==1)$form->addCaptcha('captcha')
->addRule(Nette\Forms\Form::FILLED, "Rewrite text from image.")
->addRule($form["captcha"]->getValidator(), 'Try it again.');
Formulár mi pekne vykreslí, no problém nastane po odoslaní formuláru,
kde mi vyhodí
The variable 'conf' does not exist in template.
(takže
predpokladám, že po odoslaní sa najskôr spracuje formulár, až potom
zvyšok).
Je moje riešenie dobré, alebo sa dajú konfiguračné nastavenia
prenášať aj ináč?
Skúšal som perzistentné parametre, ale mimo to, že mi to nefungovalo, to asi
nie je to práve.