Febrero
13
2006

Smarty Cómo: Plantilla Javascript depuración

ACTUALIZACIÓN: Un paquete de descarga está disponible aquí: http://ideamesh.com/file/11/Smarty-Debug-with-Collapsible-Variables.html

Aquí está el código modificado, trabajando y listo para salir ..

Aquí está el enlace donde se puede descargar el javascript nanotree ...
http://nanotree.sourceforge.net/~~V

Vuelva a colocar mi variable $ {} Site.framework_pub adecuada para que el javascript y las imágenes se pueden cargar correctamente.

También tenga en cuenta, he añadido una sección para manejar definidos por el usuario vars depuración ... Mi estructura de depuración se llama '_user_debug' y '_user_debug_key'

Para obtener más información sobre cómo implementar este vistazo a este hilo:
http://www.smarty.net/forums/viewtopic.php?p=31241 # 31241

De lo contrario, si usted no está interesado, es seguro para eliminar esa sección de la plantilla. También puede quitar la condición {if} Yo solía envolver la sección var plantilla.

Otra cosa que usted puede ser que desee jugar es la cantidad de caracteres de salida como el valor de depuración. Busque este y modificar el segundo número para modificar la salida de caracteres máx: @ debug_print_var: 0:1000

PD ¿Alguien puede entender por qué me estoy haciendo un espacio por encima de la <h3> en la celda de la derecha?

Espero que esto ayude, yo sé que me gusta Sonreír

PS: Para aprovechar todo el javascript funciona correctamente sólo tendrá que modificar la línea "var = mynanopath" y asegúrese de que apunta a su directorio nanopath público. Usted puede bajar el paquete de nanotree http://sourceforge.net/projects/nanotree/

Aquí está el código actualizado

Código:
{*
Smarty DHTML personalizado plantilla de depuración
@ Author Hielke Hoeve
@ Author Owen Cole <owenc en ideamesh puntos com>
@ Since 02/13/2006 Smarty 2.6.12
@ Paquete 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 tamaño variable, barras de desplazamiento = yes");
_smarty_console.document.write ("<html> <head> <title> depuración 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 negro sólido; {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 ("* Necesaria para inicializar el árbol \ n.");
_smarty_console.document.write ("* Y para llamar showtree (ImagePath). que realmente muestra el árbol de \ n");
_smarty_console.document.write ("* Alternativamente esto puede hacerse en un bloque de escritura en la parte inferior de la página. \ n");
_smarty_console.document.write ("* Aunque este método es un poco más limpia. \ n");
_smarty_console.document.write ("* \ / \ n"),
_smarty_console.document.write ("la función init () {} ldelim \ n");
_smarty_console.document.write ("contenedor = 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 le llama cuando un usuario hace clic en un nodo \ n.");
_smarty_console.document.write ("* @ param TreeNode al objeto TreeNode que se han pulsado \ n".);
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("función 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ón 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 nodo}
{Assign var = valor del contador = 0}
_smarty_console.document.write ("rootNode = new TreeNode ({} $ contador," depuración Smarty ', helpIcon,' Este es el árbol de depuración Sustituye a la versión clásica de la consola de depuración Smarty. '); \ n ");
{$ Contador + +}

{* Crear el nodo de plantilla incluye *}
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({} $ contador," incluidas las plantillas y archivos de configuración (tiempo de carga en segundos): ", pageIcon '");
_smarty_console.document.write ("<table width=\"100%\">");
{Section name = plantillas de loop = $ _debug_tpls}
_smarty_console.document.write ("<tr bgcolor={if %templates.index% es even}#eeeeee{else}#fafafa{/if}> <td colspan=2> <tt> {nombre de la sección = guión loop = $ _debug_tpls [plantillas]. &&& profundidad} {/ section} <color de la fuente = {if $ _debug_tpls [plantillas]. tipo de EQ "plantilla"} {color marrón elseif $ _debug_tpls [plantillas]. tipo de EQ isset ($ _debug_tpls [plantillas] exec_time.)} <font size=-1> <i> ({$ _debug_tpls [plantillas] 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 incluye las plantillas <\ \ / i> <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{/ Section}
_smarty_console.document.write ("<\ \ / table>");
_smarty_console.document.write (""); \ n ");

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

{* Crear el nodo para las variables de depuración de usuario *}
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({} $ contador," las variables de depuración de usuario: ', new Array (closedGif, openGif)); \ n ");
_smarty_console.document.write ("rootNode.addChild (nodo {$ contador}); \ n");
_smarty_console.document.write ("var nodo padre = {} $ contador; \ n");
{$ Contador + +}

{* Crear nodos secundarios para las variables de depuración de usuario *}
{Section name = vars loop = $ _user_debug}
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({$ contador}, '{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 {$ contador}); \ n");
{$ Contador + +}
{} Sectionelse
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({} $ contador," no la información de depuración de usuario asignado ', HelpIcon); \ n ");
_smarty_console.document.write ("parent.addChild (nodo {$ contador}); \ n");
{$ Contador + +}
{/ Section}

{* Crear el nodo de plantilla de las variables *}
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({} $ contador," variables de template asignadas: ', new Array (closedGif, openGif)); \ n ");
_smarty_console.document.write ("rootNode.addChild (nodo {$ contador}); \ n");
_smarty_console.document.write ("var nodo padre = {} $ contador; \ n");
{$ Contador + +}

{* Crear nodos secundarios para las variables de la plantilla *}
{Section name = vars loop = $ _debug_keys}
{If $ _debug_keys [vars]! = 'Los _user_debug' && $ _debug_keys [vars]! = '_user_debug_key'}
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({$ contador}, '{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 {$ contador}); \ n");
{$ Contador + +}
{/ If}
{} Sectionelse
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({$ contador}, 'No hay variables de plantilla asignados", HelpIcon); \ n ");
_smarty_console.document.write ("parent.addChild (nodo {$ contador}); \ n");
{$ Contador + +}
{/ Section}

{* Crear nodo para las variables de configuración de archivos de Smarty *}
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({} $ contador", asignado de configuración de variables de un archivo de plantilla (ámbito externo): ', new Array (closedGif, openGif)); \ n ");
_smarty_console.document.write ("rootNode.addChild (nodo {$ contador}); \ n");
_smarty_console.document.write ("var nodo padre = {} $ contador; \ n");
{$ Contador + +}

{* Creación de nodos secundarios de las variables de configuración de archivos de Smarty *}
{Section name = config_vars loop = $ _debug_config_keys}
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({$ contador}, '{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 {$ contador}); \ n");
{$ Contador + +}
{} Sectionelse
_smarty_console.document.write ("nodo var {} $ contador = new TreeNode ({$ contador}, 'No hay variables de configuración asignadas", HelpIcon); \ n ");
_smarty_console.document.write ("parent.addChild (nodo {$ contador}); \ 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 y consola de depuración del usuario <\ / h3>");
_smarty_console.document.write ("Haga clic en <h4> de variables en el árbol para que sus contenidos se muestran en el panel lateral derecho <\ / h4>.");
_smarty_console.document.write ("<table border='0' id='debugtreetable'> <tr>");
_smarty_console.document.write ("valign='top' <td style='width: 250px;'> <div id='debugtreediv'> y <\ / div> <\ / td>");
_smarty_console.document.write ("<td valign='top'> <div id='debugtreetextdiv'> y <\ / td>");
_smarty_console.document.write ("<\ / tr> <\ / table>");
_smarty_console.document.write ("<\ / body> <\ / html>");
_smarty_console.document.close ();
</ Script>

tags: ,
publicado en la Guía , Programación por Owen

Siga los comentarios a través del feed RSS | Agregar un comentario | Trackback URL

Deja tu comentario

 
© 2008 - 2012 - Todos los derechos reservados - Ideamesh, Inc. 22 consultas. 0,923 segundos.