Feb Febbraio
13 13
2006 2006

Smarty How to: Javascript Debug Template Smarty Procedura: Javascript Debug Template

UPDATE : A download package is available here : http://ideamesh.com/file/11/Smarty-Debug-with-Collapsible-Variables.html UPDATE: Un pacchetto di download è disponibile qui: http://ideamesh.com/file/11/Smarty-Debug-with-Collapsible-Variables.html

Here is the modified code, working and ready to go.. Ecco il codice modificato, funzionante e pronto ad andare ..

Here is the link where you can download the nanotree javascript… Ecco il link dove è possibile scaricare il nanotree javascript ...
http://nanotree.sourceforge.net/ http://nanotree.sourceforge.net/

Replace my variable {$Site.framework_pub} appropriately so that the javascript and images can be loaded correctly. Sostituire la mia variabile {$ Site.framework_pub} opportunamente in modo che il javascript e le immagini possono essere caricate correttamente.

Also please note, I have added in a section to handle user defined debug vars… My debug structure is named '_user_debug' and '_user_debug_key' Inoltre si ricorda, ho aggiunto in una sezione per gestire definiti dall'utente vars di debug ... La mia struttura di debug si chiama '_user_debug' e '_user_debug_key'

For more info on how to implement this look at this thread : Per ulteriori informazioni su come implementare questo un'occhiata a questo thread:
http://www.smarty.net/forums/viewtopic.php?p=31241#31241 http://www.smarty.net/forums/viewtopic.php?p=31241 # 31241

Otherwise if you aren't interested, it is safe to remove that section from the template. In caso contrario, se non siete interessati, è possibile rimuovere tale sezione dal modello. You could also remove the {if} statement I used to wrap the template var section. Si potrebbe anche togliere il {if} ho usato per avvolgere la sezione var modello.

Another thing you might want to play with is how many characters are output as the value for debug. Un'altra cosa che si potrebbe desiderare di giocare con è quanti caratteri sono uscita come valore per il debug. Look for this and modify the second number to alter the max chars output :@debug_print_var:0:1000 Cercare questo e modificare il secondo numero di modificare la caratteri di uscita max: @ debug_print_var: 0:1000

PS Can anyone figure out why I am getting a space above the <h3> in the right cell? PS Qualcuno può capire perché io sono sempre uno spazio al di sopra della <h3> nella cella di destra?

Hope this helps, I know I like it Spero che questo aiuti, so che mi piace! Sorriso

PS To get all the javascript working correctly you only need to modify the line “var mynanopath = ” and make sure it points to your public nanopath directory. PS per ottenere tutti i javascript funziona correttamente è sufficiente modificare la riga "var mynanopath =" e fare in modo che punti alla directory nanopath pubblico. You can down the nanotree package from http://sourceforge.net/projects/nanotree/ Puoi giù il pacchetto nanotree da http://sourceforge.net/projects/nanotree/

Here is the updated code Ecco il codice aggiornato

Code: Codice:
{* {*
Smarty Custom DHTML Debug Template Smarty personalizzata DHTML Debug Template
@author Hielke Hoeve @ Autore Hielke Hoeve
@author Owen Cole <owenc at ideamesh dot com> @ Autore Owen Cole <owenc a ideamesh dot com>
@since 02/13/2006 Smarty 2.6.12 @ Dal 2006/02/13 Smarty 2.6.12
@package Smarty @ Pacchetto Smarty
@filename debug.tpl @ Filename debug.tpl
*} *}

{assign_debug_info} {Assign_debug_info}

<SCRIPT language=javascript> <SCRIPT Language=javascript>
var mynanopath = “{$Site.javascript_path}\/nanotree\/”; var mynanopath = "{$ Site.javascript_path} \ / nanotree \ /";

if( self.name == ” ) {ldelim} if (self.name == ") {} ldelim
var title = 'Console'; var title = 'console';
{rdelim} {Rdelim}
else {ldelim} else {ldelim}
var title = 'Console_' + self.name; var title = 'Console_' + self.name;
{rdelim} {Rdelim}
_smarty_console = window.open(”",title.value,”width=800,height=600,resizable,scrollbars=yes”); _smarty_console = window.open ("", title.value, "width = 800, altezza = 600, resizable, scrollbars = yes");
_smarty_console.document.write(”<html><head><title>Smarty Debug Console_”+self.name+”<\/title>\n”); _smarty_console.document.write ("<html> <title> Smarty Debug Console_" + self.name + "<\ / title> \ n");
_smarty_console.document.write(”<style>\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 ("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 ldelim} width: 100%;} {rdelim \ n");
_smarty_console.document.write(”#debugtreetable td {ldelim}border : thin solid black;{rdelim} \n”); _smarty_console.document.write ("# debugtreetable td {} ldelim bordo: sottile nero solido; rdelim {} \ n");
_smarty_console.document.write(”#debugtreetextdiv div {ldelim}padding-left : 10px;{rdelim} \n”); _smarty_console.document.write ("# debugtreetextdiv div {ldelim} padding-left: 10px;} {rdelim \ n");
_smarty_console.document.write(”<\/style>\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 language=\"Javascript\" src=\"" + mynanopath + "nanotree.js\"> <\ / script> \ n");
_smarty_console.document.write(”<script type=\”text\/javascript\” language=\”JavaScript\”>\n”); _smarty_console.document.write ("<script type=\"text\/javascript\" language=\"JavaScript\"> \ n");
_smarty_console.document.write(”<!–\n”); _smarty_console.document.write ("<- \ n");
_smarty_console.document.write(” showRootNode = true;\n”); _smarty_console.document.write ("showRootNode = true; \ n");
_smarty_console.document.write(” sortNodes = 0;\n”); _smarty_console.document.write ("sortNodes = 0; \ n");
_smarty_console.document.write(” dragable = false;\n”); _smarty_console.document.write ("dragable = false; \ n");
_smarty_console.document.write(” showAllNodesOnStartup = true;\n”); _smarty_console.document.write ("showAllNodesOnStartup = true; \ n");

_smarty_console.document.write(” \/**\n”); _smarty_console.document.write ("\ / ** \ n");
_smarty_console.document.write(” * Needed to initialize the tree.\n”); _smarty_console.document.write ("* Necessario per inizializzare l'albero. \ n");
_smarty_console.document.write(” * And to call showTree(imagePath); to actually show the tree.\n”); _smarty_console.document.write ("* E per chiamare showtree (imagePath). mostrare effettivamente la struttura \ n");
_smarty_console.document.write(” * Alternatively this can be done in a script block at the bottom of the page.\n”); _smarty_console.document.write ("* In alternativa questo può essere fatto in un blocco di script nella parte inferiore della pagina. \ n");
_smarty_console.document.write(” * Though this method is somewhat cleaner.\n”); _smarty_console.document.write ("* Anche se questo metodo è sicuramente più pulito \ n.");
_smarty_console.document.write(” *\/\n”); _smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write(” function init() {ldelim}\n”); _smarty_console.document.write ("funzione init () {ldelim} \ n");
_smarty_console.document.write(” container = document.getElementById('debugtreediv');\n”); _smarty_console.document.write ("contenitore = document.getElementById ('debugtreediv'); \ n");
_smarty_console.document.write(” showTree('” + mynanopath + “');\n”); _smarty_console.document.write ("showtree ('" + mynanopath + "'); \ n");
_smarty_console.document.write(” {rdelim}\n”); _smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write(” \/**\n”); _smarty_console.document.write ("\ / ** \ n");
_smarty_console.document.write(” * Called when a user clicks on a node.\n”); _smarty_console.document.write ("* Viene chiamato quando un utente fa clic su un nodo. \ n");
_smarty_console.document.write(” * @param treeNode the TreeNode object which have been clicked.\n”); _smarty_console.document.write ("* @ param TreeNode l'oggetto TreeNode che sono stati cliccato. \ n");
_smarty_console.document.write(” *\/\n”); _smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write(” function standardClick(treeNode) {ldelim}\n”); _smarty_console.document.write ("funzione standardClick (TreeNode) {ldelim} \ n");
_smarty_console.document.write(” var mytext = document.getElementById('debugtreetextdiv');\n”); _smarty_console.document.write ("var myText = document.getElementById ('debugtreetextdiv'); \ n");
_smarty_console.document.write(” var param = treeNode.getParam();\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 ("mytext.innerHTML = (param ==") treeNode.getName ():? '<h3>' + treeNode.getName () + '<\ / h3> <div' + param + ' <\ / div> '; \ n ");
_smarty_console.document.write(” {rdelim}\n”); _smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write(” function nodeEdited(treeNode) {ldelim}\n”); _smarty_console.document.write ("funzione nodeEdited (TreeNode) {ldelim} \ n");
_smarty_console.document.write(” {rdelim}\n”); _smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write(” var closedGif = '” + mynanopath + “images\/folder_closed.gif';\n”); _smarty_console.document.write ("var closedGif = '" + mynanopath + "immagini \ / folder_closed.gif'; \ n");
_smarty_console.document.write(” var openGif = '” + mynanopath + “images\/folder_open.gif';\n”); _smarty_console.document.write ("var openGif = '" + mynanopath + "immagini \ / folder_open.gif'; \ n");
_smarty_console.document.write(” var pageIcon = '” + mynanopath + “images\/page16×16.gif';\n”); _smarty_console.document.write ("var pageIcon = '" + mynanopath + "immagini \ / pagina 16 × 16.gif'; \ n");
_smarty_console.document.write(” var userIcon = '” + mynanopath + “images\/user_16×16.gif';\n”); _smarty_console.document.write ("var userIcon = '" + mynanopath + "immagini \ / user_16 × 16.gif'; \ n");
_smarty_console.document.write(” var helpIcon = '” + mynanopath + “images\/help_16×16.gif';\n”); _smarty_console.document.write ("var helpIcon = '" + mynanopath + "immagini \ / help_16 × 16.gif'; \ n");

{* Create base node *} {* Crea nodo di base *}
{assign var=counter value=0} {Assegnare var = valore di conteggio = 0}
_smarty_console.document.write(” rootNode = new TreeNode({$counter},'Smarty Debug', helpIcon, 'This is the Debug Tree. It replaces the classical version of the Smarty Debug Console');\n”); _smarty_console.document.write ("rootNode = new TreeNode ({$ contatore}, 'Smarty Debug', helpIcon, 'Questo è l'albero di debug che sostituisce la versione classica della Smarty console debug.'); \ n");
{$counter++} {$ Contatore + +}

{* Create node for template includes *} {* Crea nodo per modello include *}
_smarty_console.document.write(” var node{$counter} = new TreeNode({$counter}, 'included templates & config files (load time in seconds):', pageIcon, '”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'inclusi modelli e file di configurazione (tempo di caricamento in secondi):', pageIcon, '");
_smarty_console.document.write(”<table width=\”100%\”>”); _smarty_console.document.write ("<table width=\"100%\">");
{section name=templates loop=$_debug_tpls} {Section name = modelli di loop = $ _debug_tpls}
_smarty_console.document.write(”<tr bgcolor={if %templates.index% is even}#eeeeee{else}#fafafa{/if}><td colspan=2><tt>{section name=indent loop=$_debug_tpls[templates].depth}&&&{/section}<font color={if $_debug_tpls[templates].type eq “template”}brown{elseif $_debug_tpls[templates].type eq _smarty_console.document.write ("<tr bgcolor={if %templates.index% è even}#eeeeee{else}#fafafa{/if}> <td colspan=2> <tt> {section name = trattino loop = $ _debug_tpls [modelli]. profondità} &&& {/ section} <carattere color = {if $ _debug_tpls [modelli]. tipo eq "template"} marrone {elseif $ _debug_tpls [modelli]. tipo eq isset($_debug_tpls[templates].exec_time)} <font size=-1><i>({$_debug_tpls[templates].exec_time|string_format:”%.5f”}){if %templates.index% eq 0} (total){/if}<\\/i><\\/font>{/if}<\\/tt><\\/td><\\/tr>”); isset ($ _debug_tpls [template] exec_time.)} <font size=-1> <i> ({$ _debug_tpls [template] exec_time | string_format:. "% .5 f"}) {if% templates.index% eq 0} (totale) {/ if} <\ \ / i> <\ \ / font> {/ if} <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{sectionelse} {Sectionelse}
_smarty_console.document.write(”<tr bgcolor=#eeeeee><td colspan=2><tt><i>no templates included<\\/i><\\/tt><\\/td><\\/tr>”); _smarty_console.document.write ("<tr bgcolor=#eeeeee> <td colspan=2> <tt> <i> nessun modello inclusi <\ \ / i> <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{/section} {/ Section}
_smarty_console.document.write(”<\\/table>”); _smarty_console.document.write ("<\ \ / table>");
_smarty_console.document.write(”');\n”); _smarty_console.document.write ("'); \ n");

_smarty_console.document.write(” rootNode.addChild(node{$counter});\n”); _smarty_console.document.write ("rootNode.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}

{* Create node for user debug variables *} {* Creazione di nodo per le variabili utente Debug *}
_smarty_console.document.write(” var node{$counter} = new TreeNode({$counter}, 'user debug variables:', new Array(closedGif,openGif) );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}," variabili utente Debug: ', new Array (closedGif, openGif)); \ n ");
_smarty_console.document.write(” rootNode.addChild(node{$counter});\n”); _smarty_console.document.write ("rootNode.addChild (node ​​{$ contatore}); \ n");
_smarty_console.document.write(” var parent = node{$counter};\n”); _smarty_console.document.write ("var = parent node {$ contatore}; \ n");
{$counter++} {$ Contatore + +}

{* Create child nodes for user debug variables *} {* Creazione di nodi figlio per le variabili utente Debug *}
{section name=vars loop=$_user_debug} {Section name = vars loop = $ _user_debug}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, '{ldelim}${$_user_debug_key[vars]}{rdelim}', pageIcon, '{$_user_debug[vars]|@debug_print_var:0:1000|escape:javascript|escape:javascript}' );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, '{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{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{sectionelse} {Sectionelse}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, 'No User Debug Information assigned', HelpIcon );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'No Informazioni utente Debug assegnato', HelpIcon); \ n");
_smarty_console.document.write(” parent.addChild(node{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{/section} {/ Section}

{* Create node for template variables *} {* Crea nodo per modello le variabili *}
_smarty_console.document.write(” var node{$counter} = new TreeNode({$counter}, 'assigned template variables:', new Array(closedGif,openGif) );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'variabili dei template:', new Array (closedGif, openGif)); \ n");
_smarty_console.document.write(” rootNode.addChild(node{$counter});\n”); _smarty_console.document.write ("rootNode.addChild (node ​​{$ contatore}); \ n");
_smarty_console.document.write(” var parent = node{$counter};\n”); _smarty_console.document.write ("var = parent node {$ contatore}; \ n");
{$counter++} {$ Contatore + +}

{* Create child nodes for template variables *} {* Creazione di nodi figlio per le variabili di template *}
{section name=vars loop=$_debug_keys} {Section name = vars loop = $ _debug_keys}
{ if $_debug_keys[vars] != '_user_debug' && $_debug_keys[vars] != '_user_debug_key' } {If $ _debug_keys [Vars]! = && '_user_debug' $ _debug_keys [Vars]! = '_user_debug_key'}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, '{ldelim}${$_debug_keys[vars]}{rdelim}', pageIcon, '{$_debug_vals[vars]|@debug_print_var:0:1000|escape:javascript|escape:javascript}' );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, '{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{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{/if} {/ If}
{sectionelse} {Sectionelse}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, 'No template variables assigned', HelpIcon );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'Non ci sono le variabili dei template', HelpIcon); \ n");
_smarty_console.document.write(” parent.addChild(node{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{/section} {/ Section}

{* Create node for smarty config file variables *} {* Creazione di nodo per le variabili del file di configurazione smarty *}
_smarty_console.document.write(” var node{$counter} = new TreeNode({$counter}, 'assigned config file variables (outer template scope):', new Array(closedGif,openGif) );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'assegnato variabili di configurazione di file (portata modello esterno):', new Array (closedGif, openGif)); \ n");
_smarty_console.document.write(” rootNode.addChild(node{$counter});\n”); _smarty_console.document.write ("rootNode.addChild (node ​​{$ contatore}); \ n");
_smarty_console.document.write(” var parent = node{$counter};\n”); _smarty_console.document.write ("var = parent node {$ contatore}; \ n");
{$counter++} {$ Contatore + +}

{* Create child nodes for smarty config file variables *} {* Creazione di nodi figlio per le variabili del file di configurazione smarty *}
{section name=config_vars loop=$_debug_config_keys} {Section name = config_vars loop = $ _debug_config_keys}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, '{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 ("nodo var {$ contatore} = new TreeNode ({$ contatore}, '{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{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{sectionelse} {Sectionelse}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, 'No config variables assigned', HelpIcon );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'Non ci sono le variabili di configurazione', HelpIcon); \ n");
_smarty_console.document.write(” parent.addChild(node{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{/section} {/ Section}

_smarty_console.document.write(”\/\/–>\n”); _smarty_console.document.write ("\ / \ / -> \ n");
_smarty_console.document.write(”<\/script>\n\n”); _smarty_console.document.write ("<\ / script> \ n \ n");
_smarty_console.document.write(”<\/head><body onload=\”init()\”>\n”); _smarty_console.document.write ("<\ / head> <body onload=\"init()\"> \ n");
_smarty_console.document.write(”<h3>Smarty & User Debug Console<\/h3>”); _smarty_console.document.write ("<h3> Smarty & console debug utenti <\ / h3>");
_smarty_console.document.write(”<h4>Click on variables in the tree to have their contents displayed in the right side panel.<\/h4>”); _smarty_console.document.write ("<h4> Clicca sulle variabili nella struttura per avere i loro contenuti visualizzati nel pannello di destra <\ / h4>.");
_smarty_console.document.write(”<table border='0′ id='debugtreetable'><tr>”); _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 ("valign='top' <td style='width: 250px;'> <div id='debugtreediv'> & <\ / div> <\ / td>");
_smarty_console.document.write(”<td valign='top'><div id='debugtreetextdiv'>&<\/td>”); _smarty_console.document.write ("<td valign='top'> <div id='debugtreetextdiv'> & <\ / td>");
_smarty_console.document.write(”<\/tr><\/table>”); _smarty_console.document.write ("<\ / tr> <\ / table>");
_smarty_console.document.write(”<\/body><\/html>”); _smarty_console.document.write ("<\ / body> <\ / html>");
_smarty_console.document.close(); _smarty_console.document.close ();
</SCRIPT> </ SCRIPT>

tags: , tags: ,
posted in Guides , Programming by Owen postato in Guide , Programmazione da Owen

Follow comments via the RSS Feed | Leave a comment | Trackback URL Segui i commenti tramite il feed RSS | Lascia un commento | Trackback URL

Leave Your Comment Lascia il tuo commento

© 2008 - 2013 — All Rights Reserved — Ideamesh, Inc. 22 queries. © 2008 - 2013 - Tutti i diritti riservati - Ideamesh, Inc. 22 query. 0.306 seconds. 0,306 secondi.
Smarty Procedura: Javascript Debug Template | Ideamesh
Feb Febbraio
13 13
2006 2006

Smarty How to: Javascript Debug Template Smarty Procedura: Javascript Debug Template

UPDATE : A download package is available here : http://ideamesh.com/file/11/Smarty-Debug-with-Collapsible-Variables.html UPDATE: Un pacchetto di download è disponibile qui: http://ideamesh.com/file/11/Smarty-Debug-with-Collapsible-Variables.html

Here is the modified code, working and ready to go.. Ecco il codice modificato, funzionante e pronto ad andare ..

Here is the link where you can download the nanotree javascript… Ecco il link dove è possibile scaricare il nanotree javascript ...
http://nanotree.sourceforge.net/ http://nanotree.sourceforge.net/

Replace my variable {$Site.framework_pub} appropriately so that the javascript and images can be loaded correctly. Sostituire la mia variabile {$ Site.framework_pub} opportunamente in modo che il javascript e le immagini possono essere caricate correttamente.

Also please note, I have added in a section to handle user defined debug vars… My debug structure is named '_user_debug' and '_user_debug_key' Inoltre si ricorda, ho aggiunto in una sezione per gestire definiti dall'utente vars di debug ... La mia struttura di debug si chiama '_user_debug' e '_user_debug_key'

For more info on how to implement this look at this thread : Per ulteriori informazioni su come implementare questo un'occhiata a questo thread:
http://www.smarty.net/forums/viewtopic.php?p=31241#31241 http://www.smarty.net/forums/viewtopic.php?p=31241 # 31241

Otherwise if you aren't interested, it is safe to remove that section from the template. In caso contrario, se non siete interessati, è possibile rimuovere tale sezione dal modello. You could also remove the {if} statement I used to wrap the template var section. Si potrebbe anche togliere il {if} ho usato per avvolgere la sezione var modello.

Another thing you might want to play with is how many characters are output as the value for debug. Un'altra cosa che si potrebbe desiderare di giocare con è quanti caratteri sono uscita come valore per il debug. Look for this and modify the second number to alter the max chars output :@debug_print_var:0:1000 Cercare questo e modificare il secondo numero di modificare la caratteri di uscita max: @ debug_print_var: 0:1000

PS Can anyone figure out why I am getting a space above the <h3> in the right cell? PS Qualcuno può capire perché io sono sempre uno spazio al di sopra della <h3> nella cella di destra?

Hope this helps, I know I like it Spero che questo aiuti, so che mi piace! Sorriso

PS To get all the javascript working correctly you only need to modify the line “var mynanopath = ” and make sure it points to your public nanopath directory. PS per ottenere tutti i javascript funziona correttamente è sufficiente modificare la riga "var mynanopath =" e fare in modo che punti alla directory nanopath pubblico. You can down the nanotree package from http://sourceforge.net/projects/nanotree/ Puoi giù il pacchetto nanotree da http://sourceforge.net/projects/nanotree/

Here is the updated code Ecco il codice aggiornato

Code: Codice:
{* {*
Smarty Custom DHTML Debug Template Smarty personalizzata DHTML Debug Template
@author Hielke Hoeve @ Autore Hielke Hoeve
@author Owen Cole <owenc at ideamesh dot com> @ Autore Owen Cole <owenc a ideamesh dot com>
@since 02/13/2006 Smarty 2.6.12 @ Dal 2006/02/13 Smarty 2.6.12
@package Smarty @ Pacchetto Smarty
@filename debug.tpl @ Filename debug.tpl
*} *}

{assign_debug_info} {Assign_debug_info}

<SCRIPT language=javascript> <SCRIPT Language=javascript>
var mynanopath = “{$Site.javascript_path}\/nanotree\/”; var mynanopath = "{$ Site.javascript_path} \ / nanotree \ /";

if( self.name == ” ) {ldelim} if (self.name == ") {} ldelim
var title = 'Console'; var title = 'console';
{rdelim} {Rdelim}
else {ldelim} else {ldelim}
var title = 'Console_' + self.name; var title = 'Console_' + self.name;
{rdelim} {Rdelim}
_smarty_console = window.open(”",title.value,”width=800,height=600,resizable,scrollbars=yes”); _smarty_console = window.open ("", title.value, "width = 800, altezza = 600, resizable, scrollbars = yes");
_smarty_console.document.write(”<html><head><title>Smarty Debug Console_”+self.name+”<\/title>\n”); _smarty_console.document.write ("<html> <title> Smarty Debug Console_" + self.name + "<\ / title> \ n");
_smarty_console.document.write(”<style>\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 ("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 ldelim} width: 100%;} {rdelim \ n");
_smarty_console.document.write(”#debugtreetable td {ldelim}border : thin solid black;{rdelim} \n”); _smarty_console.document.write ("# debugtreetable td {} ldelim bordo: sottile nero solido; rdelim {} \ n");
_smarty_console.document.write(”#debugtreetextdiv div {ldelim}padding-left : 10px;{rdelim} \n”); _smarty_console.document.write ("# debugtreetextdiv div {ldelim} padding-left: 10px;} {rdelim \ n");
_smarty_console.document.write(”<\/style>\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 language=\"Javascript\" src=\"" + mynanopath + "nanotree.js\"> <\ / script> \ n");
_smarty_console.document.write(”<script type=\”text\/javascript\” language=\”JavaScript\”>\n”); _smarty_console.document.write ("<script type=\"text\/javascript\" language=\"JavaScript\"> \ n");
_smarty_console.document.write(”<!–\n”); _smarty_console.document.write ("<- \ n");
_smarty_console.document.write(” showRootNode = true;\n”); _smarty_console.document.write ("showRootNode = true; \ n");
_smarty_console.document.write(” sortNodes = 0;\n”); _smarty_console.document.write ("sortNodes = 0; \ n");
_smarty_console.document.write(” dragable = false;\n”); _smarty_console.document.write ("dragable = false; \ n");
_smarty_console.document.write(” showAllNodesOnStartup = true;\n”); _smarty_console.document.write ("showAllNodesOnStartup = true; \ n");

_smarty_console.document.write(” \/**\n”); _smarty_console.document.write ("\ / ** \ n");
_smarty_console.document.write(” * Needed to initialize the tree.\n”); _smarty_console.document.write ("* Necessario per inizializzare l'albero. \ n");
_smarty_console.document.write(” * And to call showTree(imagePath); to actually show the tree.\n”); _smarty_console.document.write ("* E per chiamare showtree (imagePath). mostrare effettivamente la struttura \ n");
_smarty_console.document.write(” * Alternatively this can be done in a script block at the bottom of the page.\n”); _smarty_console.document.write ("* In alternativa questo può essere fatto in un blocco di script nella parte inferiore della pagina. \ n");
_smarty_console.document.write(” * Though this method is somewhat cleaner.\n”); _smarty_console.document.write ("* Anche se questo metodo è sicuramente più pulito \ n.");
_smarty_console.document.write(” *\/\n”); _smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write(” function init() {ldelim}\n”); _smarty_console.document.write ("funzione init () {ldelim} \ n");
_smarty_console.document.write(” container = document.getElementById('debugtreediv');\n”); _smarty_console.document.write ("contenitore = document.getElementById ('debugtreediv'); \ n");
_smarty_console.document.write(” showTree('” + mynanopath + “');\n”); _smarty_console.document.write ("showtree ('" + mynanopath + "'); \ n");
_smarty_console.document.write(” {rdelim}\n”); _smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write(” \/**\n”); _smarty_console.document.write ("\ / ** \ n");
_smarty_console.document.write(” * Called when a user clicks on a node.\n”); _smarty_console.document.write ("* Viene chiamato quando un utente fa clic su un nodo. \ n");
_smarty_console.document.write(” * @param treeNode the TreeNode object which have been clicked.\n”); _smarty_console.document.write ("* @ param TreeNode l'oggetto TreeNode che sono stati cliccato. \ n");
_smarty_console.document.write(” *\/\n”); _smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write(” function standardClick(treeNode) {ldelim}\n”); _smarty_console.document.write ("funzione standardClick (TreeNode) {ldelim} \ n");
_smarty_console.document.write(” var mytext = document.getElementById('debugtreetextdiv');\n”); _smarty_console.document.write ("var myText = document.getElementById ('debugtreetextdiv'); \ n");
_smarty_console.document.write(” var param = treeNode.getParam();\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 ("mytext.innerHTML = (param ==") treeNode.getName ():? '<h3>' + treeNode.getName () + '<\ / h3> <div' + param + ' <\ / div> '; \ n ");
_smarty_console.document.write(” {rdelim}\n”); _smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write(” function nodeEdited(treeNode) {ldelim}\n”); _smarty_console.document.write ("funzione nodeEdited (TreeNode) {ldelim} \ n");
_smarty_console.document.write(” {rdelim}\n”); _smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write(” var closedGif = '” + mynanopath + “images\/folder_closed.gif';\n”); _smarty_console.document.write ("var closedGif = '" + mynanopath + "immagini \ / folder_closed.gif'; \ n");
_smarty_console.document.write(” var openGif = '” + mynanopath + “images\/folder_open.gif';\n”); _smarty_console.document.write ("var openGif = '" + mynanopath + "immagini \ / folder_open.gif'; \ n");
_smarty_console.document.write(” var pageIcon = '” + mynanopath + “images\/page16×16.gif';\n”); _smarty_console.document.write ("var pageIcon = '" + mynanopath + "immagini \ / pagina 16 × 16.gif'; \ n");
_smarty_console.document.write(” var userIcon = '” + mynanopath + “images\/user_16×16.gif';\n”); _smarty_console.document.write ("var userIcon = '" + mynanopath + "immagini \ / user_16 × 16.gif'; \ n");
_smarty_console.document.write(” var helpIcon = '” + mynanopath + “images\/help_16×16.gif';\n”); _smarty_console.document.write ("var helpIcon = '" + mynanopath + "immagini \ / help_16 × 16.gif'; \ n");

{* Create base node *} {* Crea nodo di base *}
{assign var=counter value=0} {Assegnare var = valore di conteggio = 0}
_smarty_console.document.write(” rootNode = new TreeNode({$counter},'Smarty Debug', helpIcon, 'This is the Debug Tree. It replaces the classical version of the Smarty Debug Console');\n”); _smarty_console.document.write ("rootNode = new TreeNode ({$ contatore}, 'Smarty Debug', helpIcon, 'Questo è l'albero di debug che sostituisce la versione classica della Smarty console debug.'); \ n");
{$counter++} {$ Contatore + +}

{* Create node for template includes *} {* Crea nodo per modello include *}
_smarty_console.document.write(” var node{$counter} = new TreeNode({$counter}, 'included templates & config files (load time in seconds):', pageIcon, '”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'inclusi modelli e file di configurazione (tempo di caricamento in secondi):', pageIcon, '");
_smarty_console.document.write(”<table width=\”100%\”>”); _smarty_console.document.write ("<table width=\"100%\">");
{section name=templates loop=$_debug_tpls} {Section name = modelli di loop = $ _debug_tpls}
_smarty_console.document.write(”<tr bgcolor={if %templates.index% is even}#eeeeee{else}#fafafa{/if}><td colspan=2><tt>{section name=indent loop=$_debug_tpls[templates].depth}&&&{/section}<font color={if $_debug_tpls[templates].type eq “template”}brown{elseif $_debug_tpls[templates].type eq _smarty_console.document.write ("<tr bgcolor={if %templates.index% è even}#eeeeee{else}#fafafa{/if}> <td colspan=2> <tt> {section name = trattino loop = $ _debug_tpls [modelli]. profondità} &&& {/ section} <carattere color = {if $ _debug_tpls [modelli]. tipo eq "template"} marrone {elseif $ _debug_tpls [modelli]. tipo eq isset($_debug_tpls[templates].exec_time)} <font size=-1><i>({$_debug_tpls[templates].exec_time|string_format:”%.5f”}){if %templates.index% eq 0} (total){/if}<\\/i><\\/font>{/if}<\\/tt><\\/td><\\/tr>”); isset ($ _debug_tpls [template] exec_time.)} <font size=-1> <i> ({$ _debug_tpls [template] exec_time | string_format:. "% .5 f"}) {if% templates.index% eq 0} (totale) {/ if} <\ \ / i> <\ \ / font> {/ if} <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{sectionelse} {Sectionelse}
_smarty_console.document.write(”<tr bgcolor=#eeeeee><td colspan=2><tt><i>no templates included<\\/i><\\/tt><\\/td><\\/tr>”); _smarty_console.document.write ("<tr bgcolor=#eeeeee> <td colspan=2> <tt> <i> nessun modello inclusi <\ \ / i> <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{/section} {/ Section}
_smarty_console.document.write(”<\\/table>”); _smarty_console.document.write ("<\ \ / table>");
_smarty_console.document.write(”');\n”); _smarty_console.document.write ("'); \ n");

_smarty_console.document.write(” rootNode.addChild(node{$counter});\n”); _smarty_console.document.write ("rootNode.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}

{* Create node for user debug variables *} {* Creazione di nodo per le variabili utente Debug *}
_smarty_console.document.write(” var node{$counter} = new TreeNode({$counter}, 'user debug variables:', new Array(closedGif,openGif) );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}," variabili utente Debug: ', new Array (closedGif, openGif)); \ n ");
_smarty_console.document.write(” rootNode.addChild(node{$counter});\n”); _smarty_console.document.write ("rootNode.addChild (node ​​{$ contatore}); \ n");
_smarty_console.document.write(” var parent = node{$counter};\n”); _smarty_console.document.write ("var = parent node {$ contatore}; \ n");
{$counter++} {$ Contatore + +}

{* Create child nodes for user debug variables *} {* Creazione di nodi figlio per le variabili utente Debug *}
{section name=vars loop=$_user_debug} {Section name = vars loop = $ _user_debug}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, '{ldelim}${$_user_debug_key[vars]}{rdelim}', pageIcon, '{$_user_debug[vars]|@debug_print_var:0:1000|escape:javascript|escape:javascript}' );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, '{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{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{sectionelse} {Sectionelse}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, 'No User Debug Information assigned', HelpIcon );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'No Informazioni utente Debug assegnato', HelpIcon); \ n");
_smarty_console.document.write(” parent.addChild(node{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{/section} {/ Section}

{* Create node for template variables *} {* Crea nodo per modello le variabili *}
_smarty_console.document.write(” var node{$counter} = new TreeNode({$counter}, 'assigned template variables:', new Array(closedGif,openGif) );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'variabili dei template:', new Array (closedGif, openGif)); \ n");
_smarty_console.document.write(” rootNode.addChild(node{$counter});\n”); _smarty_console.document.write ("rootNode.addChild (node ​​{$ contatore}); \ n");
_smarty_console.document.write(” var parent = node{$counter};\n”); _smarty_console.document.write ("var = parent node {$ contatore}; \ n");
{$counter++} {$ Contatore + +}

{* Create child nodes for template variables *} {* Creazione di nodi figlio per le variabili di template *}
{section name=vars loop=$_debug_keys} {Section name = vars loop = $ _debug_keys}
{ if $_debug_keys[vars] != '_user_debug' && $_debug_keys[vars] != '_user_debug_key' } {If $ _debug_keys [Vars]! = && '_user_debug' $ _debug_keys [Vars]! = '_user_debug_key'}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, '{ldelim}${$_debug_keys[vars]}{rdelim}', pageIcon, '{$_debug_vals[vars]|@debug_print_var:0:1000|escape:javascript|escape:javascript}' );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, '{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{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{/if} {/ If}
{sectionelse} {Sectionelse}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, 'No template variables assigned', HelpIcon );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'Non ci sono le variabili dei template', HelpIcon); \ n");
_smarty_console.document.write(” parent.addChild(node{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{/section} {/ Section}

{* Create node for smarty config file variables *} {* Creazione di nodo per le variabili del file di configurazione smarty *}
_smarty_console.document.write(” var node{$counter} = new TreeNode({$counter}, 'assigned config file variables (outer template scope):', new Array(closedGif,openGif) );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'assegnato variabili di configurazione di file (portata modello esterno):', new Array (closedGif, openGif)); \ n");
_smarty_console.document.write(” rootNode.addChild(node{$counter});\n”); _smarty_console.document.write ("rootNode.addChild (node ​​{$ contatore}); \ n");
_smarty_console.document.write(” var parent = node{$counter};\n”); _smarty_console.document.write ("var = parent node {$ contatore}; \ n");
{$counter++} {$ Contatore + +}

{* Create child nodes for smarty config file variables *} {* Creazione di nodi figlio per le variabili del file di configurazione smarty *}
{section name=config_vars loop=$_debug_config_keys} {Section name = config_vars loop = $ _debug_config_keys}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, '{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 ("nodo var {$ contatore} = new TreeNode ({$ contatore}, '{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{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{sectionelse} {Sectionelse}
_smarty_console.document.write(” var node{$counter} = new TreeNode( {$counter}, 'No config variables assigned', HelpIcon );\n”); _smarty_console.document.write ("nodo var {$ contatore} = new TreeNode ({$ contatore}, 'Non ci sono le variabili di configurazione', HelpIcon); \ n");
_smarty_console.document.write(” parent.addChild(node{$counter});\n”); _smarty_console.document.write ("parent.addChild (node ​​{$ contatore}); \ n");
{$counter++} {$ Contatore + +}
{/section} {/ Section}

_smarty_console.document.write(”\/\/–>\n”); _smarty_console.document.write ("\ / \ / -> \ n");
_smarty_console.document.write(”<\/script>\n\n”); _smarty_console.document.write ("<\ / script> \ n \ n");
_smarty_console.document.write(”<\/head><body onload=\”init()\”>\n”); _smarty_console.document.write ("<\ / head> <body onload=\"init()\"> \ n");
_smarty_console.document.write(”<h3>Smarty & User Debug Console<\/h3>”); _smarty_console.document.write ("<h3> Smarty & console debug utenti <\ / h3>");
_smarty_console.document.write(”<h4>Click on variables in the tree to have their contents displayed in the right side panel.<\/h4>”); _smarty_console.document.write ("<h4> Clicca sulle variabili nella struttura per avere i loro contenuti visualizzati nel pannello di destra <\ / h4>.");
_smarty_console.document.write(”<table border='0′ id='debugtreetable'><tr>”); _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 ("valign='top' <td style='width: 250px;'> <div id='debugtreediv'> & <\ / div> <\ / td>");
_smarty_console.document.write(”<td valign='top'><div id='debugtreetextdiv'>&<\/td>”); _smarty_console.document.write ("<td valign='top'> <div id='debugtreetextdiv'> & <\ / td>");
_smarty_console.document.write(”<\/tr><\/table>”); _smarty_console.document.write ("<\ / tr> <\ / table>");
_smarty_console.document.write(”<\/body><\/html>”); _smarty_console.document.write ("<\ / body> <\ / html>");
_smarty_console.document.close(); _smarty_console.document.close ();
</SCRIPT> </ SCRIPT>

tags: , tags: ,
posted in Guides , Programming by Owen postato in Guide , Programmazione da Owen

Follow comments via the RSS Feed | Leave a comment | Trackback URL Segui i commenti tramite il feed RSS | Lascia un commento | Trackback URL

Leave Your Comment Lascia il tuo commento

© 2008 - 2013 — All Rights Reserved — Ideamesh, Inc. 22 queries. © 2008 - 2013 - Tutti i diritti riservati - Ideamesh, Inc. 22 query. 0.306 seconds. 0,306 secondi.