[2.0.12] Controls constructor
- HappyFace
- Člen | 162
Ahojte,
potreboval by som nadefinovat v controlery nejake defaultne nastavenia ale
neviem kde ich jednotne inizializovat aby bolo dostuplne pre celu
triedu/metody
do __construct to umiestnit nemozem lebo v nom nemam este pristup ku presenteru
ked ked setUp umiestnim do metody render tak k tym hodnotam nemam pristup
v callbackoch z formularu napr. a musim ich tam opatovne inializovat
neviete kde je teda to magicke miesto kde to mozem setnut raz a budu tie data zo setUpu(prezenteru) dostupne , pre vsetky mnou pouzivane metody?
- Vojtěch Dobeš
- Gold Partner | 1316
protected function attached($parent)
{
if (!$parent instanceof UI\Presenter) {
return;
}
// kod zde se zavola jednou a $parent tu bude presenter
}
- HappyFace
- Člen | 162
vojtech.dobes napsal(a):
protected function attached($parent) { if (!$parent instanceof UI\Presenter) { return; } // kod zde se zavola jednou a $parent tu bude presenter }
tak som si to doplnil ale asi to nebude uplne ono :( davam tu len to nacom mi
to pada.
Nadefinovanie
protected function attached($parent)
{
if (!$parent instanceof UI\Presenter) {
return;
}
$this->_presenter = $parent;
$this->_translator = $this->_presenter->translator;
}
pouzitie:
protected function createComponentForm()
{
$form = new \Nette\Application\UI\Form;
$form->setTranslator($this->_translator);
$form->addText('code', 'label', NULL, 6)
->setAttribute('placeholder', $this->_translator->translate('input.placeholder'));
return $form;
}
hlasi mi to ze $this->_translator->translate() non-object ztoho vypliva ze ktomu „attached“ asi nedoslo alebo doslo strasne skoro .. translator pouzivam "":https://componette.org/search/?…` presne tak ako je tomu na tej stranke
- David Matějka
- Moderator | 6445
mas v use
use Nette\Application\UI;
? protoze to UI\Presenter
je zkratka pro
Nette\Application\UI\Presenter
jinak k tomu jestli se to zavolalo: to je tak tezky si tam dumpnout neco, abys to videl?
- hAssassin
- Člen | 293
Nejdriv si pridej do attached()
uplne nazacatek
parent::attached($parent)
. Kdysi sem na to zapomnel a cely to
prestalo fungovat. Pak navic asi nemusis prirazovat parenta k _presenter.
Ale spis mi unika vyznam toho vseho. Proc si z presenteru tahas translator,
kdyz ho stejne v tovarne predavas pres setTranslator()
?
- David Matějka
- Moderator | 6445
@hAssassin: myslim, ze ta tovarna createComponentForm je v komponente a ne v presenteru
- HappyFace
- Člen | 162
matej21 napsal(a):
@hAssassin: myslim, ze ta tovarna createComponentForm je v komponente a ne v presenteru
presne tak koli tomu ze tie iste formulare pouzivam na niekolkych miestach a v niekolkych projektoch vsetko je pisane cez komponenty a len pri ich vkladani do sablony ak potrebujem aby mali inu sablonu tak ju tam nastavim ale funkcne vsetko ostava nezmenene