Febbraio
13
2006

Smarty Come: Javascript Debug Template

UPDATE: Un pacchetto di download è disponibile qui: http://ideamesh.com/file/11/Smarty-Debug-con-pieghevole-Variables.html

Ecco il codice modificato, funzionante e pronto ad andare ..

Ecco il link dove è possibile scaricare il nanotree javascript ...
http://nanotree.sourceforge.net/

Sostituire la mia variabile {$ Site.framework_pub} opportunamente in modo che il javascript e le immagini possono essere caricati correttamente.

Inoltre si prega di notare, ho aggiunto una sezione per gestire il debug definito dall'utente vars ... La mia struttura di debug si chiama '_user_debug' e '_user_debug_key'

Per ulteriori informazioni su come implementare questo sguardo a questa discussione:
http://www.smarty.net/forums/viewtopic.php?p=31241#31241

In caso contrario, se non siete interessati, è possibile rimuovere tale sezione dal modello. Si potrebbe anche rimuovere il {if} ho usato per avvolgere la sezione di modello var.

Un'altra cosa che si potrebbe desiderare di giocare è quanti caratteri sono uscita come valore per il debug. Cercare questo e modificare il secondo numero di modificare il massimo caratteri in uscita:debug_print_var: 0: 1000

PS Qualcuno può capire perché sto ottenendo uno spazio sopra la <h3> nella cella giusto?

Spero che questo aiuti, so che mi piace Sorriso

PS Per ottenere tutto il javascript funzionare correttamente è sufficiente modificare la riga "var mynanopath =" e fare in modo che punti alla directory nanopath pubblico. È possibile verso il basso il pacchetto nanotree da http://sourceforge.net/projects/nanotree/

Ecco il codice aggiornato

Codice:
{*
Smarty DHTML personalizzato Debug Template
author Hielke Hoeve
author Owen Cole <owenc a ideamesh dot com>
SINCE 2006/02/13 Smarty 2.6.12
package Smarty
nomefile debug.tpl
*}

{Assign_debug_info}

<Script language = javascript>
var mynanopath = "{$ Site.javascript_path} \ / nanotree \ /";

if (self.name == ") {} ldelim
title var = 'Console';
{Rdelim}
else {} ldelim
title var = 'Console_' + self.name;
{Rdelim}
_smarty_console = window.open (", title.value," width "= 800, height = 600, ridimensionabili, 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 border: thin solid black;} {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 = \" "src = \" Javascript \ "+ +" 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 ("* Necessario per inizializzare l'albero. \ n");
_smarty_console.document.write ("* E per chiamare ShowTree (imagePath), per mostrare realmente l'albero. \ 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 (". * Anche se questo metodo è un po 'più pulito \ n");
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("funzione init () {ldelim} \ n");
_smarty_console.document.write ("contenitore = 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 ("* Chiamato quando un utente fa clic su un nodo. \ n");
_smarty_console.document.write ("* @ param TreeNode l'oggetto TreeNode che sono stati cliccato. \ n");
_smarty_console.document.write ("* \ / \ 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 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 ("funzione nodeEdited (TreeNode) {ldelim} \ n");
_smarty_console.document.write ("{rdelim} \ n");

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

{* Creare nodo di base *}
{Assegnare var = valore del contatore = 0}
_smarty_console.document.write ("rootNode = new TreeNode ($ {contatore}, 'Smarty Debug', helpIcon, 'Questo è l'Albero Debug Essa sostituisce la versione classica del Smarty console debug.'); \ n");
{$ Contatore ++}

{* Creazione di nodo per modello include *}
_smarty_console.document.write ("nodo var {$ contatore} = nuovo TreeNode ($ {contatore}, 'incluso template e file di configurazione (tempo di caricamento in secondi):', pageIcon, '");
_smarty_console.document.write ("<table width = \" 100% \ ">");
{Section name = modelli loop = $ _ debug_tpls}
_smarty_console.document.write ("<tr bgcolor = {if% templates.index% è anche #eeeeee} {else} #fafafa {/ if}> <td colspan = 2> <tt> {section name = anello trattino = $ _debug_tpls [modelli] .depth} &&& {/ section} <font color = {if $ _debug_tpls [modelli] .type eq "template" {} marrone elseif $ _debug_tpls [modelli] .type eq “insert”}black{else}green{/if}>{$_debug_tpls[templates].filename|escape:html|escape:javascript}<\\/font>{if isset ($ _ debug_tpls [template] .exec_time)} <font size = -1> <i> ({$ _ debug_tpls [modelli] .exec_time | string_format: ".% 5f"}) {if%% eq templates.index 0} (totale) {/ if} <\\ / i> <\\ / font> {/ if} <\\ / tt> <\\ / td> <\\ / tr> ");
{Sectionelse}
_smarty_console.document.write ("<tr bgcolor = # eeeeee> <td colspan = 2> <tt> <i> non modelli inclusi <\\ / i> <\\ / tt> <\\ / td> <\\ / tr> ");
{/ Sezione}
_smarty_console.document.write ("<\\ / table>");
_smarty_console.document.write ("'); \ n");

_smarty_console.document.write ("rootNode.addChild (nodo {$ contatore}); \ n");
{$ Contatore ++}

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

{* Creazione di nodi figlio per le variabili di debug utente *}
{Sezione loop name = vars = $ _ user_debug}
_smarty_console.document.write ("nodo var {$ contatore} = nuovo 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 (nodo {$ contatore}); \ n");
{$ Contatore ++}
{Sectionelse}
_smarty_console.document.write ("nodo var {$ contatore} = nuovo TreeNode ($ {contatore}, 'No Informazioni utente Debug assegnato', HelpIcon); \ n");
_smarty_console.document.write ("parent.addChild (nodo {$ contatore}); \ n");
{$ Contatore ++}
{/ Sezione}

{* Creazione di nodo per le variabili di template *}
_smarty_console.document.write ("nodo var {$ contatore} = nuovo TreeNode ($ {contatore}, 'variabili assegnate template:', new Array (closedGif, openGif)); \ n");
_smarty_console.document.write ("rootNode.addChild (nodo {$ contatore}); \ n");
_smarty_console.document.write ("parent var = $ node {contatore}; \ n");
{$ Contatore ++}

{* Creazione di nodi figlio per le variabili di template *}
{Sezione loop name = vars = $ _ debug_keys}
{If $ _debug_keys [vars]! = '_user_debug' && $ _debug_keys [Vars]! = '_user_debug_key'}
_smarty_console.document.write ("nodo var {$ contatore} = nuovo 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 (nodo {$ contatore}); \ n");
{$ Contatore ++}
{/ If}
{Sectionelse}
_smarty_console.document.write ("nodo var {$ contatore} = nuovo TreeNode ($ {contatore}, 'Non ci sono le variabili di modello assegnato', HelpIcon); \ n");
_smarty_console.document.write ("parent.addChild (nodo {$ contatore}); \ n");
{$ Contatore ++}
{/ Sezione}

{* Creazione di nodo per le variabili del file di configurazione * smarty}
_smarty_console.document.write ("nodo var {$ contatore} = nuovo TreeNode ($ {contatore}, 'assegnate variabili di configurazione di file (ambito template esterno):', new Array (closedGif, openGif)); \ n");
_smarty_console.document.write ("rootNode.addChild (nodo {$ contatore}); \ n");
_smarty_console.document.write ("parent var = $ node {contatore}; \ n");
{$ Contatore ++}

{* Creazione di nodi figlio per le variabili del file di configurazione * smarty}
{Section name = config_vars loop = $ _ debug_config_keys}
_smarty_console.document.write ("nodo var {$ contatore} = nuovo 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 (nodo {$ contatore}); \ n");
{$ Contatore ++}
{Sectionelse}
_smarty_console.document.write ("nodo var {$ contatore} = nuovo TreeNode ($ {contatore}, 'Non ci sono variabili di configurazione assegnato', HelpIcon); \ n");
_smarty_console.document.write ("parent.addChild (nodo {$ contatore}); \ n");
{$ Contatore ++}
{/ Sezione}

_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 & User console debug <\ / h3>");
_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 ("<td valign = 'top' style = 'width: 250px;'> <div id = 'debugtreediv'> e <\ / div> <\ / td>");
_smarty_console.document.write ("<td valign 'top' => <div id = 'debugtreetextdiv'> e <\ / td>");
_smarty_console.document.write ("<\ / tr> <\ / table>");
_smarty_console.document.write ("<\ / body> <\ / html>");
_smarty_console.document.close ();
</ SCRIPT>

tags: ,
postato in Guide , Programmazione da Owen

Segui i commenti tramite il feed RSS | Lascia un commento | Trackback URL

Lascia il tuo commento

© 2008 - 2014 - Tutti i diritti riservati - Ideamesh, Inc. 22 query. 0,376 secondi.