Február
13.
2006

Smarty Hogyan: Javascript Debug Sablon

UPDATE: A letölthető csomag itt érhető el: http://ideamesh.com/file/11/Smarty-Debug-with-Collapsible-Variables.html

Itt a módosított kódot, a munka, és kész ..

Itt a link, ahol lehet letölteni a nanotree javascript ...
http://nanotree.sourceforge.net/

Cserélje ki a változó {$ Site.framework_pub} megfelelően, hogy a javascript és képek is betöltve.

Továbbá kérjük, vegye figyelembe, már hozzá egy szakaszt kezelni a felhasználó által definiált hibakeresési vars ... A hibakeresés szerkezet neve "_user_debug" és a "_user_debug_key"

További info, hogy hogyan alkalmazzák ezt nézd meg ebben a témában:
http://www.smarty.net/forums/viewtopic.php?p=31241 # 31241

Ellenkező esetben, ha nem érdekli, akkor nyugodtan, hogy távolítsa el ezt a szakaszt a sablont. Azt is vegye ki a {if} védelme szoktam, hogy lezárja a sablon var részben.

A másik dolog, amit érdemes játszani, hogy hány karakter kimenetet az értéket debug. Nézd meg ezt, és módosíthatja a második szám megváltoztatni a max elszenesíti kimenet: @ debug_print_var: 0:1000

PS Tud valaki kitalálni, hogy miért kapok a tér felett a <h3> a megfelelő sejt?

Remélem ez segít, tudom, hogy tetszik Mosoly

PS Ahhoz, hogy a javascript működik csak akkor kell, hogy módosítsa a sor "var mynanopath =", és győződjön meg róla, arra utal, hogy a nyilvános nanopath könyvtárba. Akkor meg az nanotree csomagot http://sourceforge.net/projects/nanotree/

Itt a frissített kódot

Kód:
{*
Smarty Custom DHTML Debug Sablon
@ Szerző Hielke Hoeve
@ Szerző Owen Cole <owenc at ideamesh dot com>
@ Mert 2006/02/13 Smarty 2.6.12
@ Csomag Smarty
@ Fájlnév 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, átméretezhető, 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 határ: vékony, feketének, {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 ("* szükséges inicializálni a fát. \ n");
_smarty_console.document.write ("* És hívni showTree (ImagePath), hogy valóban azt mutatják, a fa. \ n");
_smarty_console.document.write ("* Alternatívaként ezt lehet tenni a script blokk az az oldal alján. \ n");
_smarty_console.document.write ("* Bár ez a módszer kissé tisztább. \ n");
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("funkció init () {ldelim} \ n");
_smarty_console.document.write ("konténer = 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 ("* meghívásra, ha a felhasználó rákattint egy csomópontra. \ n");
_smarty_console.document.write ("* @ param treeNode a TreeNode tárgy, amely már kattintott. \ n");
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("funkció 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 ("funkció 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 \ / 16. oldalon × 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 ");

{* Új alap node *}
{Hozzá var = számláló értéke = 0}
_smarty_console.document.write ("rootNode = new TreeNode ({$ counter} 'Smarty Debug", helpIcon,' Ez a Debug fa. Ez helyettesíti a klasszikus változata a Smarty Debug Console ') \ n ");
{$ Counter + +}

{* Új csomópont sablon tartalmazza *}
_smarty_console.document.write ("var csomópont {$ counter} = new TreeNode ({$ counter}," benne sablonok és konfigurációs fájlok (terhelési idő másodpercben): ", pageIcon," ");
_smarty_console.document.write ("<table width=\"100%\">");
{Részben name = sablonok loop = $ _debug_tpls}
_smarty_console.document.write ("<tr bgcolor={if %templates.index% az even}#eeeeee{else}#fafafa{/if}> <td colspan=2> <tt> {részben name = francia loop = $ _debug_tpls [templates]. mélység} &&& {/ section} <font color = {if $ _debug_tpls [templates]. típusú eq "sablon"} barna {elseif $ _debug_tpls [templates]. típusú eq “insert”}black{else}green{/if}>{$_debug_tpls[templates].filename|escape:html|escape:javascript}<\\/font>{if isset ($ _debug_tpls [templates]. exec_time)} <font size=-1> <i> ({$ _debug_tpls [templates]. exec_time | string_format: "% 0,5 f"}) {if% templates.index% eq 0} (összesen) {/ if} <\ \ / i> <\ \ / font> {/ if} <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{Sectionelse}
_smarty_console.document.write ("<tr bgcolor=#eeeeee> <td colspan=2> <tt> <i> sablonokat tartalmaz <\ \ / i> <\ \ / tt> <\ \ / td> <\ \ / tr> ");
{/ Rész}
_smarty_console.document.write ("<\ \ / table>");
_smarty_console.document.write ("") \ n ");

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

{* Új csomópont felhasználói hibakeresés változó *}
_smarty_console.document.write ("var csomópont {$ counter} = new TreeNode ({$ counter}, 'user hibakeresési változókat:', new Array (closedGif, openGif)) \ n");
_smarty_console.document.write ("rootNode.addChild (node ​​{$ counter}) \ n");
_smarty_console.document.write ("var szülő = node {$ counter}, \ n");
{$ Counter + +}

{* Új gyermek csomópontok felhasználói hibakeresés változó *}
{Részben name = Vars loop = $ _user_debug}
_smarty_console.document.write ("var csomópont {$ 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 ("parent.addChild (node ​​{$ counter}) \ n");
{$ Counter + +}
{Sectionelse}
_smarty_console.document.write ("var csomópont {$ counter} = new TreeNode ({$ counter}, 'No Felhasználó Debug információ rendelt", HelpIcon) \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ counter}) \ n");
{$ Counter + +}
{/ Rész}

{* Új csomópont sablon változó *}
_smarty_console.document.write ("var csomópont {$ counter} = new TreeNode ({$ counter} 'rendelt sablon változókat:', new Array (closedGif, openGif)) \ n");
_smarty_console.document.write ("rootNode.addChild (node ​​{$ counter}) \ n");
_smarty_console.document.write ("var szülő = node {$ counter}, \ n");
{$ Counter + +}

{* Új gyermek csomópontok sablon változó *}
{Részben name = Vars loop = $ _debug_keys}
{If $ _debug_keys [var]! = '_user_debug' && $ _debug_keys [Var]! = '_user_debug_key'}
_smarty_console.document.write ("var csomópont {$ 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 ("parent.addChild (node ​​{$ counter}) \ n");
{$ Counter + +}
{/ If}
{Sectionelse}
_smarty_console.document.write ("var csomópont {$ counter} = new TreeNode ({$ counter}, 'No template változó rendelt", HelpIcon) \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ counter}) \ n");
{$ Counter + +}
{/ Rész}

{* Új csomópont smarty config fájl változókat *}
_smarty_console.document.write ("var csomópont {$ counter} = new TreeNode ({$ counter} 'rendelt konfigurációs fájl változókat (külső sablon kör):" new Array (closedGif, openGif)) \ n ");
_smarty_console.document.write ("rootNode.addChild (node ​​{$ counter}) \ n");
_smarty_console.document.write ("var szülő = node {$ counter}, \ n");
{$ Counter + +}

{* Új gyermek csomópontok Smarty config fájl változókat *}
{Részben name = config_vars loop = $ _debug_config_keys}
_smarty_console.document.write ("var csomópont {$ 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 ("parent.addChild (node ​​{$ counter}) \ n");
{$ Counter + +}
{Sectionelse}
_smarty_console.document.write ("var csomópont {$ counter} = new TreeNode ({$ counter}, 'No config változó rendelt", HelpIcon) \ n ");
_smarty_console.document.write ("parent.addChild (node ​​{$ counter}) \ n");
{$ Counter + +}
{/ Rész}

_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 és felhasználói Debug Console <\ / h3>");
_smarty_console.document.write ("<h4> Kattints változókra a fán, hogy azok tartalmát megjelennek a jobb oldali panelen. <\ / 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>

Címkék: ,
írt útmutatók , programozás Owen

Kövesse magyarázat az RSS Feed | Szólj hozzá | Trackback URL

Hagyjuk meg véleményét

© 2008 - 2014 - Minden jog fenntartva - Ideamesh, Inc. 22 lekérdezések. 0.348 másodperc alatt.