Februar
13
2006

Smarty Hvordan: Javascript Debug Mal

OPPDATERING: En nedlasting pakke er tilgjengelig her: http://ideamesh.com/file/11/Smarty-Debug-with-Collapsible-Variables.html

Her er den modifiserte koden, arbeide og klar til å gå ..

Her er link hvor du kan laste ned nanotree javascript ...
http://nanotree.sourceforge.net/~~V

Bytt min variabel {$ Site.framework_pub} hensiktsmessig slik at javascript og bilder kan lastes riktig.

Også merk har jeg lagt på en del for å håndtere brukerdefinerte debug Vars ... Min debug struktur heter '_user_debug' og '_user_debug_key'

For mer informasjon om hvordan å gjennomføre dette titt på denne tråden:
http://www.smarty.net/forums/viewtopic.php?p=31241 # 31241

Ellers hvis du ikke er interessert, er det trygt å fjerne denne delen fra malen. Du kan også fjerne {if} setningen jeg brukte til å pakke malen Var delen.

En annen ting du kanskje ønsker å spille med, er hvor mange tegn er utgang som verdien for debug. Se etter dette og endre det andre nummeret til å endre maks chars utgang: @ debug_print_var: 0:1000

PS Kan noen finne ut hvorfor jeg får en plass over <h3> i riktig celle?

Håper dette hjelper, vet jeg jeg liker det Smil

PS For å få all javascript fungerer trenger du bare å endre linjen "Var mynanopath =" og sørge for at det peker til den offentlige nanopath katalogen. Du kan ned nanotree pakken fra http://sourceforge.net/projects/nanotree/

Her er den oppdaterte koden

Kode:
{*
Smarty Custom DHTML Debug Mal
@ Forfatter Hielke Hoeve
@ Author Owen Cole <owenc på ideamesh dot com>
@ Siden 02/13/2006 Smarty 2.6.12
@ Pakke Smarty
@ Filnavn debug.tpl
*}

{Assign_debug_info}

<SCRIPT Language=JavaScript>
Var mynanopath = "{$ Site.javascript_path} \ / nanotree \ /";

if (self.name == ") {ldelim}
Var title = 'Console';
{Rdelim}
else {ldelim}
Var title = 'Console_' + self.name;
{Rdelim}
_smarty_console = window.open ("", title.value, "width = 800, height = 600, endre størrelse og scrollbars = yes");
_smarty_console.document.write ("<html> <head> <title> Smarty Debug Console_" + self.name + "<\ / title> \ n");
_smarty_console.document.write ("<style> \ n");
_smarty_console.document.write ("h3 {ldelim} padding: 5px 5px 5px 5px; margin: 0px 0px 0px 0px; background-color: # CCCCCC; {rdelim} \ n");
_smarty_console.document.write ("# debugtreetable {ldelim} width: 100%; {rdelim} \ n");
_smarty_console.document.write ("# debugtreetable td {ldelim} kant: tynn solid svart; {rdelim} \ n");
_smarty_console.document.write ("# debugtreetextdiv div {ldelim} padding-left: 10px; {rdelim} \ n");
_smarty_console.document.write ("<\ / style> \ n");
_smarty_console.document.write ("<script language=\"Javascript\" src=\"" + mynanopath + "nanotree.js\"> <\ / script> \ n");
_smarty_console.document.write ("<script type=\"text\/javascript\" language=\"JavaScript\"> \ n");
_smarty_console.document.write ("<- \ n!");
_smarty_console.document.write ("showRootNode = true; \ n");
_smarty_console.document.write ("sortNodes = 0; \ n");
_smarty_console.document.write ("dragable = false; \ n");
_smarty_console.document.write ("showAllNodesOnStartup = true; \ n");

_smarty_console.document.write ("\ / ** \ n");
_smarty_console.document.write ("* Trengs for å initialisere treet \ n.");
_smarty_console.document.write ("* Og å kalle showTree (ImagePath);. å faktisk vise treet \ n");
_smarty_console.document.write ("* Alternativt kan dette gjøres i et skript blokk nederst på siden \ n.");
_smarty_console.document.write ("* Selv om denne metoden er noe renere \ n.");
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("funksjon init () {ldelim} \ n");
_smarty_console.document.write ("container = document.getElementById ('debugtreediv'); \ n");
_smarty_console.document.write ("showTree ('" + mynanopath + "'); \ n");
_smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write ("\ / ** \ n");
_smarty_console.document.write ("* Kalles når en bruker klikker på en node \ n.");
_smarty_console.document.write ("* @ param treeNode den TreeNode objektet som har blitt klikket \ n.");
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("funksjon standardClick (treeNode) {ldelim} \ n");
_smarty_console.document.write ("Var mytext = document.getElementById ('debugtreetextdiv'); \ n");
_smarty_console.document.write ("Var param = treeNode.getParam (); \ n");
_smarty_console.document.write ("mytext.innerHTML = (param ==") treeNode.getName ():? <h3> + treeNode.getName () + '<\ / h3> <div>' + param + ' <\ / div> '; \ n ");
_smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write ("funksjon nodeEdited (treeNode) {ldelim} \ n");
_smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write ("Var closedGif = '" + mynanopath + "bilder \ / folder_closed.gif'; \ n");
_smarty_console.document.write ("Var openGif = '" + mynanopath + "bilder \ / folder_open.gif'; \ n");
_smarty_console.document.write ("Var pageIcon = '" + mynanopath + "bilder \ / page16 × 16.gif'; \ n");
_smarty_console.document.write ("Var userIcon = '" + mynanopath + "bilder \ / user_16 × 16.gif'; \ n");
_smarty_console.document.write ("Var helpIcon = '" + mynanopath + "bilder \ / help_16 × 16.gif'; \ n");

{* Lag basen node *}
{Tildele Var = telleren verdi = 0}
_smarty_console.document.write ("rootNode = ny TreeNode ({$ teller}," Smarty Debug ', helpIcon,' Dette er den Debug treet Den erstatter den klassiske versjonen av Smarty Feilsøkingskonsoll. '); \ n ");
{$ Teller + +}

{* Lag node for malen inneholder *}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller}, 'inkluderte maler og konfigurasjonsfiler (lastetid i sekunder):', pageIcon, '");
_smarty_console.document.write ("<table width=\"100%\">");
{Delen name = maler sløyfe = $ _debug_tpls}
_smarty_console.document.write ("<tr bgcolor={if %templates.index% er even}#eeeeee{else}#fafafa{/if}> <td colspan=2> <tt> {delen name = rykke sløyfe = $ _debug_tpls [maler]. dybde} &&& {/ seksjon} <font color = {if kr _debug_tpls [maler]. typen EQ "mal"} brun {ElseIf $ _debug_tpls [maler]. typen eq isset ($ _debug_tpls [maler] exec_time.)} <font size=-1> <i> ({$ _debug_tpls [templates] exec_time | string_format:. "% 0,5 f"}) {if% templates.index% eq 0} (total) {/ if} <\ \ / i> <\ \ / font> {/ if} <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{Sectionelse}
_smarty_console.document.write ("<tr bgcolor=#eeeeee> <td colspan=2> <tt> <i> Ingen maler følger <\ \ / i> <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{/ Seksjon}
_smarty_console.document.write ("<\ \ / table>");
_smarty_console.document.write ("'); \ n");

_smarty_console.document.write ("rootNode.addChild (node ​​{$ teller}); \ n");
{$ Teller + +}

{* Lag node for brukergrupper debug variabler *}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller}, 'Bruker debug variabler:', new Array (closedGif, openGif)); \ n");
_smarty_console.document.write ("rootNode.addChild (node ​​{$ teller}); \ n");
_smarty_console.document.write ("Var forelder = node {$ teller}; \ n");
{$ Teller + +}

{* Lag barn noder for brukergrupper debug variabler *}
{Delen name = Vars sløyfe = $ _user_debug}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller} {ldelim} $ {$ _user_debug_key [Vars]} {rdelim} ', pageIcon,' {$ _user_debug [Vars] | @ debug_print_var: 0:1000 | escape: javascript | escape: javascript} '); \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ teller}); \ n");
{$ Teller + +}
{Sectionelse}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller}, 'Ingen Bruker debuginformasjon tildelt', HelpIcon); \ n");
_smarty_console.document.write ("parent.addChild (node ​​{$ teller}); \ n");
{$ Teller + +}
{/ Seksjon}

{* Lag node for mal variabler *}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller}, 'tildelte mal variabler:', new Array (closedGif, openGif)); \ n");
_smarty_console.document.write ("rootNode.addChild (node ​​{$ teller}); \ n");
_smarty_console.document.write ("Var forelder = node {$ teller}; \ n");
{$ Teller + +}

{* Lag underordnede noder for Mal variabler *}
{Delen name = Vars sløyfe = $ _debug_keys}
{If $ _debug_keys [Vars]! = 'Vis _user_debug' && $ _debug_keys [Vars]! = '_user_debug_key'}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller} {ldelim} $ {$ _debug_keys [Vars]} {rdelim} ', pageIcon,' {$ _debug_vals [Vars] | @ debug_print_var: 0:1000 | escape: javascript | escape: javascript} '); \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ teller}); \ n");
{$ Teller + +}
{/ If}
{Sectionelse}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller}, 'Ingen mal variabler tildelte', HelpIcon); \ n");
_smarty_console.document.write ("parent.addChild (node ​​{$ teller}); \ n");
{$ Teller + +}
{/ Seksjon}

{* Lag node for Smarty config file variabler *}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller}, 'tildelt config file variablene (ytre mal omfang):', new Array (closedGif, openGif)); \ n");
_smarty_console.document.write ("rootNode.addChild (node ​​{$ teller}); \ n");
_smarty_console.document.write ("Var forelder = node {$ teller}; \ n");
{$ Teller + +}

{* Lag underordnede noder for Smarty config file variabler *}
{Delen name = config_vars sløyfe = $ _debug_config_keys}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller} {ldelim} $ {$ _debug_config_keys [config_vars]} {rdelim} ', pageIcon,' {$ _debug_config_vals [config_vars] | @ debug_print_var: 0:1000 | escape: javascript | escape: javascript} '); \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ teller}); \ n");
{$ Teller + +}
{Sectionelse}
_smarty_console.document.write ("Var node {$ teller} = ny TreeNode ({$ teller}, 'Ingen config variabler tildelte', HelpIcon); \ n");
_smarty_console.document.write ("parent.addChild (node ​​{$ teller}); \ n");
{$ Teller + +}
{/ Seksjon}

_smarty_console.document.write ("\ / \ / -> \ n");
_smarty_console.document.write ("<\ / script> \ n \ n");
_smarty_console.document.write ("<\ / head> <body onload=\"init()\"> \ n");
_smarty_console.document.write ("<h3> Smarty & Bruker Feilsøkingskonsoll <\ / h3>");
_smarty_console.document.write ("<h4> Klikk på variablene i treet for å få innholdet vises i høyre panel <\ / h4>.");
_smarty_console.document.write ("<table border='0' id='debugtreetable'> <tr>");
_smarty_console.document.write ("<td valign='top' style='width: 250px;'> <div id='debugtreediv'> & <\ / div> <\ / td>");
_smarty_console.document.write ("<td valign='top'> <div id='debugtreetextdiv'> & <\ / td>");
_smarty_console.document.write ("<\ / tr> <\ / table>");
_smarty_console.document.write ("<\ / body> <\ / html>");
_smarty_console.document.close ();
</ Script>

tags: ,
postet i Guides , Programmering av Owen

Følg kommentarer via RSS | Legg igjen en kommentar | Trackback URL

Legg igjen din kommentar

© 2008 - 2012 - Alle Rettigheter - Ideamesh, Inc. 22 spørringer. 0,379 sekunder.