Febrer
13
2006

Smarty Com: Plantilla Javascript depuració

ACTUALITZACIÓ: Un paquet de descàrrega està disponible aquí: http://ideamesh.com/file/11/Smarty-Debug-with-Collapsible-Variables.html

Aquí està el codi modificat, treballant i llest per sortir ..

Aquí està l'enllaç on es pot descarregar el javascript nanotree ...
http://nanotree.sourceforge.net/ ~ ~ V

Torneu a introduir la meva variable $ {} Site.framework_pub adequada perquè el javascript i les imatges es poden carregar correctament.

També tingui en compte, he afegit una secció per manejar definits per l'usuari vars depuració ... El meu estructura de depuració es diu '_user_debug' i '_user_debug_key'

Per obtenir més informació sobre com implementar aquest cop d'ull a aquest fil:
http://www.smarty.net/forums/viewtopic.php?p=31241 # 31241

En cas contrari, si vostè no està interessat, és segur per eliminar aquesta secció de la plantilla. També pot treure la condició {if} Jo solia embolicar la secció var plantilla.

Una altra cosa que vostè pot ser que vulgui jugar és la quantitat de caràcters de sortida com el valor de depuració. Busqui aquest i modificar el segon número per modificar la sortida de caràcters màx: @ debug_print_var: 0:1000

PD Algú pot entendre per què m'estic fent un espai per sobre de la <h3> a la cel de la dreta?

Espero que això ajudi, jo sé que m'agrada Somriure

PS: Per aprofitar tot el javascript funciona correctament només haurà de modificar la línia "var = mynanopath" i assegureu-vos que apunta al seu directori nanopath públic. Vostè pot baixar el paquet de nanotree http://sourceforge.net/projects/nanotree/

Aquí està el codi actualitzat

Codi:
{*
Smarty DHTML personalitzat plantilla de depuració
@ Author Hielke Hoeve
@ Author Owen Col <owenc en ideamesh punts com>
@ Since 02/13/2006 Smarty 2.6.12
@ Paquet de Smarty
@ Filename debug.tpl
*}

{} Assign_debug_info

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

if (self.name == ") {} ldelim
var title = 'Consola';
{} Rdelim
else {} ldelim
var title = "Console_ '+ self.name;
{} Rdelim
_smarty_console = window.open ("", title.value, "width = 800, height = 600, de mida variable, barres de desplaçament = yes");
_smarty_console.document.write ("<html> <head> <title> depuració Smarty 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 frontera: fina de color negre sòlid; {rdelim} \ n");
_smarty_console.document.write ("# debugtreetextdiv div {} ldelim padding-left: 10px;} {rdelim \ n");
_smarty_console.document.write ("<\ / div> \ 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 ("* Necessària per inicialitzar l'arbre \ n.");
_smarty_console.document.write ("* I per cridar showtree (ImagePath). que realment mostra l'arbre de \ n");
_smarty_console.document.write ("* Alternativament això pot fer en un bloc d'escriptura a la part inferior de la pàgina. \ n");
_smarty_console.document.write ("* Encara que aquest mètode és una mica més neta. \ n");
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("la funció init () {} ldelim \ n");
_smarty_console.document.write ("contenidor = 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 ("* Se li crida quan un usuari fa clic a un node \ n.");
_smarty_console.document.write ("* @ param TreeNode l'objecte TreeNode que s'ha fet clic. \ n");
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("funció 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> <p" + param + " <\ / div> '; \ n ");
_smarty_console.document.write ("{} rdelim \ n");

_smarty_console.document.write ("funció nodeEdited (TreeNode) {ldelim} \ n");
_smarty_console.document.write ("{} rdelim \ n");

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

{* Crear * base de node}
{Assign var = valor del comptador = 0}
_smarty_console.document.write ("rootNode = new TreeNode ({} $ comptador," depuració Smarty ', helpIcon,' Aquest és l'arbre de depuració Substitueix a la versió clàssica de la consola de depuració Smarty. '); \ n ");
{$ Contador + +}

{* Crear el node de plantilla inclou *}
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({} $ comptador," incloses les plantilles i arxius de configuració (temps de càrrega en segons): ", pageIcon '");
_smarty_console.document.write ("<table width=\"100%\">");
{Section name = plantilles de loop = $ _debug_tpls}
_smarty_console.document.write ("<tr bgcolor={if %templates.index% és even}#eeeeee{else}#fafafa{/if}> <td colspan=2> <tt> {nom de la secció = guió loop = $ _debug_tpls [plantilles]. &&& profunditat} {/ section} <color de la font = {if $ _debug_tpls [plantilles]. tipus de EQ "plantilla"} {color marró elseif $ _debug_tpls [plantilles]. tipus de EQ isset ($ _debug_tpls [plantilles] exec_time.)} <font size=-1> <i> ({$ _debug_tpls [plantilles] exec_time | string_format: ". 0,5% f"}) {if%% eq templates.index 0} (total) {/ if} <\ \ / i> <\ \ / font> {/ if} <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{} Sectionelse
_smarty_console.document.write ("<tr bgcolor=#eeeeee> <td colspan=2> <tt> <i> no inclou les plantilles <\ \ / i> <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{/ Section}
_smarty_console.document.write ("<\ \ / table>");
_smarty_console.document.write (""); \ n ");

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

{* Crear el node per a les variables de depuració d'usuari *}
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({} $ comptador," les variables de depuració d'usuari: ', new Array (closedGif, openGif)); \ n ");
_smarty_console.document.write ("rootNode.addChild (node ​​{$ comptador}); \ n");
_smarty_console.document.write ("var node pare = {} $ comptador; \ n");
{$ Contador + +}

{* Crear nodes secundaris per a les variables de depuració d'usuari *}
{Section name = vars loop = $ _user_debug}
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({$ comptador}, '{ldelim} $ {$ _user_debug_key [vars]} {} rdelim', pageIcon, '{$ _user_debug [vars] | @ debug_print_var: 0:1000 | escapament: Javascript | escapament: Javascript} '); \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ comptador}); \ n");
{$ Contador + +}
{} Sectionelse
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({} $ comptador," no la informació de depuració d'usuari assignat ', HelpIcon); \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ comptador}); \ n");
{$ Contador + +}
{/ Section}

{* Crear el node de plantilla de les variables *}
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({} $ comptador," variables de template assignades: ', new Array (closedGif, openGif)); \ n ");
_smarty_console.document.write ("rootNode.addChild (node ​​{$ comptador}); \ n");
_smarty_console.document.write ("var node pare = {} $ comptador; \ n");
{$ Contador + +}

{* Crear nodes secundaris per a les variables de la plantilla *}
{Section name = vars loop = $ _debug_keys}
{If $ _debug_keys [vars]! = 'Els _user_debug' && $ _debug_keys [vars]! = '_user_debug_key'}
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({$ comptador}, '{ldelim} $ {$ _debug_keys [vars]} {} rdelim', pageIcon, '{$ _debug_vals [vars] | @ debug_print_var: 0:1000 | escapament: Javascript | escapament: Javascript} '); \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ comptador}); \ n");
{$ Contador + +}
{/ If}
{} Sectionelse
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({$ comptador}, 'No hi ha variables de plantilla assignats", HelpIcon); \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ comptador}); \ n");
{$ Contador + +}
{/ Section}

{* Crear node per a les variables de configuració d'arxius de Smarty *}
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({} $ comptador", assignat de configuració de variables d'un fitxer de plantilla (àmbit extern): ', new Array (closedGif, openGif)); \ n ");
_smarty_console.document.write ("rootNode.addChild (node ​​{$ comptador}); \ n");
_smarty_console.document.write ("var node pare = {} $ comptador; \ n");
{$ Contador + +}

{* Creació de nodes secundaris de les variables de configuració d'arxius de Smarty *}
{Section name = config_vars loop = $ _debug_config_keys}
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({$ comptador}, '{ldelim} $ {$ _debug_config_keys [config_vars]} {} rdelim', pageIcon, '{$ _debug_config_vals [config_vars] | @ debug_print_var: 0:1000 | escapament: Javascript | escapament: Javascript} '); \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ comptador}); \ n");
{$ Contador + +}
{} Sectionelse
_smarty_console.document.write ("node var {} $ comptador = new TreeNode ({$ comptador}, 'No hi ha variables de configuració assignades", HelpIcon); \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ comptador}); \ n");
{$ Contador + +}
{/ Section}

_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 i consola de depuració de l'usuari <\ / h3>");
_smarty_console.document.write ("Feu clic a <h4> de variables en l'arbre perquè els seus continguts es mostren en el panell lateral dret <\ / h4>.");
_smarty_console.document.write ("<table border='0' id='debugtreetable'> <tr>");
_smarty_console.document.write ("valign = 'top' <td style='width: 250px;'> <div id='debugtreediv'> i <\ / div> <\ / td>");
_smarty_console.document.write ("<td valign='top'> <div id='debugtreetextdiv'> i <\ / td>");
_smarty_console.document.write ("<\ / tr> <\ / table>");
_smarty_console.document.write ("<\ / body> <\ / html>");
_smarty_console.document.close ();
</ Script>

tags: ,
publicat a la Guia , Programació per Owen

Seguiu els comentaris a través del feed RSS | Afegeix un comentari | Trackback URL

Deixa el teu comentari

 
© 2008 - 2012 - Tots els drets reservats - Ideamesh, Inc 22 consultes. 0,458 s.