Pozice Nette Debug Baru ve zdrojovém html kódu jinde než za ukončením </html> tagu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ĂÇđ
Člen | 5
+
0
-

Dobrý den,

chtěl bych se zeptat jak se dá změnit umístění Nette Debug Baru v html kódu. Snažil jsem se na toto téma najít něco v dokumnetaci, ale buďto nevím jak to správně hledat, nebo je to tak zřejmé že jsem to přehlédl.

Aniž bych cokoliv do šablon napsal, generuje se mi jeho kód až za ukončení značky </html>, což není zrovna správné. Předpokládám že na to bude nějaké makro v Latte, ale nejsem schopný ho najít a tak budu rád, když mě někdo nakopne.

Díky

Verze Nette a PHP:
Nette Framework (version 2.0-dev released on 2011–07–13, https://nette.org)
Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1

voda
Člen | 561
+
0
-

Debug bar se vykresluje při shutdown takže na konci celého spracování. Vykreslovat ho dříve asi nemá moc cenu, protože pak může obsahovat neúplné informace.

Jinak vykreslit na jiném místě by měl jít, proměnná $bar v Nette\Diagnostics\Debugger je public, takže na něm můžeš zavolat render() a pak zajistit, aby se už nevykreslil.

Nebo pokud ti jen vadí, že je až za </html>, tak ukončovací tagy body a html lze vynechat.

Filip Procházka
Moderator | 4668
+
0
-

Co to je za hlouposti. Na vývojovém serveru to je úplně jedno. A na produkčním se nezobrazuje. Takže co ti vadí? Validita? Ta je přeceňovaná a stejně je to na produkci tak validní, jak jsou validní tvoje šablony.

ĂÇđ
Člen | 5
+
0
-

voda napsal(a):

Debug bar se vykresluje při shutdown takže na konci celého spracování. Vykreslovat ho dříve asi nemá moc cenu, protože pak může obsahovat neúplné informace.

Jinak vykreslit na jiném místě by měl jít, proměnná $bar v Nette\Diagnostics\Debugger je public, takže na něm můžeš zavolat render() a pak zajistit, aby se už nevykreslil.

Nebo pokud ti jen vadí, že je až za </html>, tak ukončovací tagy body a html lze vynechat.

Děkuji za Vaši radu, bohužel bych do kódu aplikace (myslím do php kódu) neměl zasahovat, jsem pouze kodér/šablonář a nerad bych způsobil programátorům nějaké potíže.
Je tedy možnost abych si nějak v config.neon souboru nastavil úplné vypnutí Nette Debug Baru? Je pravda, že občas se hodí jeho výpis šablon, ale kdybych si mohl v určité fázi Nette Debug Bar vypnout, také by to bylo žešení.
Děkuji za odpověď.

ĂÇđ
Člen | 5
+
0
-

HosipLan napsal(a):

Co to je za hlouposti. Na vývojovém serveru to je úplně jedno. A na produkčním se nezobrazuje. Takže co ti vadí? Validita? Ta je přeceňovaná a stejně je to na produkci tak validní, jak jsou validní tvoje šablony.

Děkuji za Váš názor, možná by jste mohl popřemýšlet nad tím, že mám k tomu nějaké důvody, než mě označíte za hlupáka.
Abych Vás uvedl do obrazu, problém může například nastat pokud se daný web testuje pomocí automatizovaných testů, nebo pokud existují jiné nároky na validitu výstupu (například pokud se nejedná o výstup určený pro uživatele, ale pro strojové zpracování), které samozřejmě probíhá i v produkčním prostředí a nezle se spolehnout na to že bude bez jakéhokoliv otestování fungovat v ostrém provozu.

22
Člen | 1478
+
0
-

zpravidla používám v bootstrap.php:

Debugger::enable(array('192.168.xx.xx'));

což má za následek, že se DebugBar zobrazuje jen na stroji vývojaře s danou IP..

Editoval 22 (11. 8. 2011 14:07)

JakubS
Člen | 15
+
0
-

HosipLan napsal(a):

Co to je za hlouposti. … Takže co ti vadí? Validita? Ta je přeceňovaná …

Validita byla dříve démonizovaná ale při vývoji snad má své opodstatnění!

Při kódování šablony jsme zvyklý při každém refreshi kontrolovat validitu stránky -zelená ikonka ve firefoxu mi hlásí že jsem se nikde neupsal. Při zobrazení DebugBaru je stránka nevalidní vždy -takže musím buď vypnout D.B. nebo zkoumat podrobný výstup validátoru (obojí zdržuje)

Filip Procházka
Moderator | 4668
+
0
-

@**JakubS**: Validita je přežitek. Dál se o tom bavit nebudu.

@**ĂÇđ**: Aplikaci přepněte do produkčního režimu, pokud potřebujete spouštět seléniové testy. Ale stejně, těm by to vadit nemělo ne? Pokud nekontrolují validitu…