Smarty Debug FireBug Consolba
Biztos voltál már úgy, hogy a Smarty PHP sablonkezelő rendszeredbe regisztrált változók értékét szeretted volna megtudni, de éles környezet lévén, nem volt lehetőség a Normál popup ablak dobására.A bejegyzésben elolvashatod, hogyan irathatod ki a Smarty-nak regisztrált változók értékeket FireBug konzolba, anélkül hogy nagyon feltűnő volna az akció.
A lényege a dolognak az, hogy működő weboldalaknál, a sablonkezelőnek átadott változók értékét ha megtekintheted, 5x gyorsabban jössz rá a hibák okára. Smarty beépített változókkal is szabályozhatjuk a kiíratást, de nekem ez annyira nem volt szimpi.. Működő weboldalnál ez egy kicsit körülményes, de így viszonylag diszkrétebb a dolog.
A spanyolviaszt nem Én találtam fel, a script már 2009. januárjában megvolt. Egy picit módosítottam rajta, hogy belecuccoltam a rendszereimbe, ezt osztom meg veletek.

1, FireBug beszerzése
A működéshez kell a Firefox-ra telepített FireBug Plugin. Konkrétan FireFox alatt fog működni a mutatvány.
2, Főoldali Smarty sablonod aljára helyezd el ezt a kódot.
Ha több sablont használsz akkor tedd bele oda is. A kód a [/body][/html] tag után kerüljön beillesztésre.
{include file="debug.tpl"}
debug.tpl-be helyezed el ezt a kódot:
{if $smarty.const.SMARTY_DEBUG || $smarty.const.SMARTY_CONSOLE_DEBUG}{debug}{/if}
3, A config fájlodba helyez el 2 állandót.
Ezt abba fájlba tedd amit mindig behívsz, hogy mindenhol elérhető legyen.
//ha a konzolba szeretnél logolni akkor false, true //ha a popupot szeretnél látni akkor true, false //kikapcs: false,false ne feledkezz el róla //popup dobás true/false define("SMARTY_DEBUG", false); //firebug konzol debug true or false define("SMARTY_CONSOLE_DEBUG", false);
Megjegyzés:
Az PHP-ben definiált állandókat a smarty sablonon így éred el:
{$smarty.const.VALTOZOD_NEVE}
4, Keresd meg a Smarty (lib) mappában a debug.tpl -t és cseréld ki.
A letöltések között találod a lap alján! Ez tartalmazza a régi és új tpl-eket, azért kellet a fenti 2 állandó, hogy a megjelenítést szabályozza.
5, Ha ezzel megvagy, engedélyezd a debug változóiddal a consolba loggolást.
define("SMARTY_DEBUG", false); define("SMARTY_CONSOLE_DEBUG", true);
Nyisd meg a FireBug-ot, mint a fenti képen és írd be a Smarty_debug(); vagy Smarty_debug(true); függvény neveket. Az utóbbi összezárva írja ki csoportokban a változók nevét és tartalmát.
6, Egyben a legfontosabb!
Ha végzel ne felejtsd el kikapcsolni, mert elég beszédes tud lenni egy rakat változó is. Csak vészhelyzetben tűzoltásnál használandó!
Te mit használsz erre a célra?
Letöltések
- Smarty Debug TPL fájl átalakítva
- Az eredeti és a módosított sablonokat is tartalmazza. Gyakorlatilag ez az új debug.tpl fájl. Ezzel kell felülírni a Smarty lib mappában található debug.tpl fájlt. Az eredetiből azért legyen mentés a biztonság kedvéért.