Closed Kcko closed 10 years ago
Už sis asi odpověděl. Můžu uzavřít?
Případně ukaz problematický kód.
Odpověděl. Můžeš. Jiná možnost ze šablony stejně asi není, nebo pokud je, tak ji prosím dopiš, jinak můžeš LOCK.
Fajné. K nastavení komponenty slouží createComponent
metoda, případně příslušná action.
Pro jistotu sem hoď kompletní diskutovaný kód, možná to půjde jinak.
No jinak asi ne. :), nezkoušel jsem to, jen jsem se díval.
Vytvoříš komponentu v presenteru.
public function createComponentTitle() { return $this->titleControlFactory->create(); }
a aby jsi mohl v nějaké konkrétní šabloně upravit titulek na míru tak se použije
$this["title"]->setTitle("some data");
Takhle by to mělo být v pořádku. Ptal jsem se na to proto, jak jsem psal výše, že většinou předávám data jako selection, takže s nimi nemůžu ihned pracovat v action nebo renderu.
Ještě by šlo, aby render() komponenty přijímal nepovinný parametr $title, který by nastavil title.
A jak si tím pomůžu v šabloně? Když se bavím o šabloně, mám namysli nějaké view nějakého presenteru.
Pravda nijak :) k čemu si vlastně předáváš selection a ne rovnou řádek?
:) Občas jsem s tím v šabloně ještě potřeboval něco dělat. I když vlastně selection předávám do šablony když vypisuju třeba výpis článků, do detailu hážu ActiveRow, tak jsem možná psal zbytečně, ale aspoň jsme to probrali horem dolem :)
Teď me tak napadá, jde převrátit active row na selection? (Abych ten řádek mohl ještě nějak ovlivnit?)
Tak uzavírám.
Já používám Doctrine, takže ti neporadím.
Není to špatná komponenta, ale má jednu zásadní nevýhodu. Pokud do šablon předávám ve většině případů pouze Nette\Database\Selection nemám možnost v / mětodě titulek nastavit, nemám totiž k dispozici "data". Nešlo by to ješte nějak rozšířit , i když vlastně mohl bych napsat v šabloně $control["kontrola"]->setTitle() .. tak asi jako bych nic nenapsal