กุมภาพันธ์
13
2006

Smarty วิธีการ: จาวาสคริ Debug แม่

UPDATE: ดาวน์โหลดแพคเกจที่มีอยู่ที่นี่: http://ideamesh.com/file/11/Smarty-Debug กับพับ-Variables.html

นี่คือรหัสแก้ไขการทำงานและพร้อมที่จะไป ..

นี่คือลิงค์ที่คุณสามารถดาวน์โหลด nanotree จาวาสคริปต์ ...
http://nanotree.sourceforge.net/

แทนที่ตัวแปรของฉัน {$} Site.framework_pub อย่างเหมาะสมเพื่อให้จาวาสคริปต์และภาพที่สามารถโหลดได้อย่างถูกต้อง

นอกจากนี้โปรดทราบฉันได้เพิ่มในส่วนของการจัดการผู้ใช้แก้ปัญหาที่กำหนด vars ... โครงสร้างการแก้ปัญหาของฉันชื่อ '_user_debug' และ '_user_debug_key'

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้ดูที่หัวข้อนี้นี้
http://www.smarty.net/forums/viewtopic.php?p=31241#31241

มิฉะนั้นถ้าคุณไม่สนใจมันมีความปลอดภัยที่จะลบส่วนนั้นจากแม่แบบ นอกจากนี้คุณยังสามารถลบ {ถ้า} คำสั่งที่ผมใช้ในการตัดส่วนแม่ var

สิ่งที่คุณอาจต้องการที่จะเล่นกับอีกประการหนึ่งคือจำนวนตัวอักษรจะออกเป็นค่าสำหรับการแก้ปัญหา มองหานี้และปรับเปลี่ยนตัวเลขที่สองในการเปลี่ยนแปลงตัวอักษรสูงสุดเอาท์พุท: @debug_print_var: 0 1000

PS ทุกคนสามารถคิดออกว่าทำไมฉันได้รับพื้นที่ดังกล่าวข้างต้น <h3> ในเซลล์ที่เหมาะสมหรือไม่

หวังว่านี้จะช่วยให้ฉันรู้ว่าฉันชอบมัน รอยยิ้ม

PS ที่ได้รับทั้งหมดจาวาสคริปต์ทำงานอย่างถูกต้องคุณจะต้องปรับเปลี่ยนบรรทัด "var mynanopath =" และให้แน่ใจว่ามันชี้ไปยังไดเรกทอรี NanoPath สาธารณะของคุณ คุณสามารถลงแพคเกจ nanotree จาก http://sourceforge.net/projects/nanotree/

นี่คือรหัสที่ปรับปรุง

รหัส:
{*
Smarty แม่แบบที่กำหนดเอง DHTML การแก้ปัญหา
@author Hielke Hoeve
@author โอเว่นโคล <owenc ที่ ideamesh ดอทคอม>
@since 02/13/2006 Smarty 2.6.12
@package Smarty
@filename debug.tpl
*}

{} assign_debug_info

<สคริปต์ภาษาจาวาสคริปต์ =>
var mynanopath = "{$ Site.javascript_path} \ / nanotree \ /";

ถ้า (self.name == ") {} ldelim
ชื่อ var = 'คอนโซล';
{} rdelim
อื่น {ldelim}
ชื่อ var = 'Console_' + self.name;
{} rdelim
_smarty_console = window.open ("", title.value, "width = 800 height = 600, ปรับขนาด, เลื่อน = ใช่");
_smarty_console.document.write ("<html> <head> <ชื่อ> Smarty Debug คอนโซล _" + + self.name "<\ / title> \ n");
_smarty_console.document.write ("<สไตล์> \ n");
_smarty_console.document.write ("h3 {} ldelim padding: 5px 5px 5px 5px; ขอบ: 0px 0px 0px 0px; สีพื้น: LEFT: #cccccc; {rdelim} \ n");
_smarty_console.document.write ("# debugtreetable {} ldelim กว้าง: 100%; {rdelim} \ n");
_smarty_console.document.write ("# debugtreetable td {} ldelim border: บางสีดำ; {rdelim} \ n");
_smarty_console.document.write ("# debugtreetextdiv div {} ldelim padding-left: 10px;} {rdelim \ n");
_smarty_console.document.write ("<\ / style> \ n");
_smarty_console.document.write ("<ภาษาสคริปต์ = \" จาวาสคริปต์ \ "src = \" "+ mynanopath +" nanotree.js \ "> <\ / script> \ n");
_smarty_console.document.write ("<script type = \" ข้อความ \ / จาวาสคริปต์ \ "ภาษา = \" 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 ("* ที่จำเป็นในการเริ่มต้นต้นไม้ \ n.");
_smarty_console.document.write ("* และที่จะเรียก showTree (ImagePath); แสดงจริงต้นไม้ \ n.");
_smarty_console.document.write ("* อีกทางเลือกหนึ่งนี้สามารถทำได้ในบล็อกสคริปต์ที่ด้านล่างของหน้า \ n.");
_smarty_console.document.write (". แม้ว่าวิธีการนี​​้จะค่อนข้างสะอาด \ n");
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("ฟังก์ชัน init () {ldelim} \ n");
_smarty_console.document.write ("ภาชนะ = 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 ("* เรียกว่าเมื่อผู้ใช้คลิกบนโหนด \ n.");
_smarty_console.document.write ("* @ พระราม TreeNode TreeNode วัตถุที่ได้รับการคลิก \ n.");
_smarty_console.document.write ("* \ / \ n");
_smarty_console.document.write ("ฟังก์ชัน standardClick (TreeNode) {ldelim} \ n");
_smarty_console.document.write ("var mytext = document.getElementById ('debugtreetextdiv'); \ n");
_smarty_console.document.write ("var พารามิเตอร์ = treeNode.getParam (); \ n");
_smarty_console.document.write ("mytext.innerHTML = (พารามิเตอร์ ==") treeNode.getName (): '<h3>' + treeNode.getName (+) '<\ / h3> <div>' พารามิเตอร์ + + <\ / div> '; \ n ");
_smarty_console.document.write ("{rdelim} \ n");

_smarty_console.document.write ("ฟังก์ชัน nodeEdited (TreeNode) {ldelim} \ n");
_smarty_console.document.write ("{rdelim} \ n");

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

{* สร้างโหนดฐาน *}
{var = กำหนดค่าตัวนับ = 0}
_smarty_console.document.write ("rootNode = TreeNode ใหม่ ({$ เคาน์เตอร์} 'Smarty Debug', helpIcon 'นี่คือการแก้ปัญหาต้นไม้แทนที่รุ่นคลาสสิกของ Smarty Debug คอนโซล.) \ n");
{$ เคาน์เตอร์ ++}

{* สร้างโหนดสำหรับแม่รวมถึง *}
_smarty_console.document.write ("var โหนด {$ เคาน์เตอร์} = ใหม่ TreeNode ({$ เคาน์เตอร์} 'รวมแม่แบบและ config ไฟล์ (เวลาในการโหลดในวินาที):', pageIcon '");
_smarty_console.document.write ("<ตาราง width = \" 100% \ ">");
{ชื่อส่วน = ห่วงแม่ = $ _ debug_tpls}
_smarty_console.document.write ("<tr bgcolor = {% ถ้า templates.index% แม้} {#eeeeee อื่น #fafafa} {/} ถ้า> <td colspan = 2> <tt> {ชื่อส่วน = ห่วงเยื้อง = $ _debug_tpls [แม่] .depth} &&& {/ ส่วน} <font color = {ถ้า $ _debug_tpls [แม่] .type EQ "แม่แบบ"} น้ำตาล {elseif $ _debug_tpls [แม่] .type EQ “insert”}black{else}green{/if}>{$_debug_tpls[templates].filename|escape:html|escape:javascript}<\\/font>{if isset ($ _ debug_tpls [แม่] .exec_time)} <font size = -1> <i> ({$ _ debug_tpls [แม่] .exec_time | string_format:. "ที่ 5%"}) {ถ้า% templates.index% EQ 0} (รวม) {/ ถ้า} <\\ / i> <\\ / FONT> {/ ถ้า} <\\ / tt> <\\ / td> <\\ / tr> ");
{} sectionelse
_smarty_console.document.write ("<tr bgcolor = # EEEEEE> <td colspan = 2> <tt> <i> ไม่มีแม่รวม <\\ / i> <\\ / tt> <\\ / td> <\\ / tr> ");
{/ ส่วน}
_smarty_console.document.write ("<\\ / table>");
_smarty_console.document.write ("'); \ n");

_smarty_console.document.write ("rootNode.addChild (โหนด {$ เคาน์เตอร์}); \ n");
{$ เคาน์เตอร์ ++}

{* สร้างโหนดสำหรับตัวแปรแก้ปัญหาผู้ใช้ *}
_smarty_console.document.write ("โหนด var {$ เคาน์เตอร์} = TreeNode ใหม่ ({$ เคาน์เตอร์} 'ผู้ใช้ตัวแปร debug:', อาร์เรย์ใหม่ (closedGif, openGif)); \ n");
_smarty_console.document.write ("rootNode.addChild (โหนด {$ เคาน์เตอร์}); \ n");
_smarty_console.document.write ("แม่ var = node {$ เคาน์เตอร์}; \ n");
{$ เคาน์เตอร์ ++}

{* สร้างโหนดลูกสำหรับตัวแปรแก้ปัญหาผู้ใช้ *}
{ส่วนวงชื่อ = vars = $ _ user_debug}
_smarty_console.document.write ("var โหนด {$ เคาน์เตอร์} = TreeNode ใหม่ ({$ เคาน์เตอร์} '{ldelim} $ {$ _ user_debug_key [Vars]} {rdelim}', pageIcon '{$ _user_debug [vars] | @ debug_print_var: 0 1000 | หลบหนี: จาวาสคริปต์ | หลบหนี: จาวาสคริปต์} '); \ n ");
_smarty_console.document.write ("parent.addChild (โหนด {$ เคาน์เตอร์}); \ n");
{$ เคาน์เตอร์ ++}
{} sectionelse
_smarty_console.document.write ("var โหนด {$ เคาน์เตอร์} = TreeNode ใหม่ ({$ เคาน์เตอร์} 'ไม่มีผู้ใช้แก้ปัญหาข้อมูลที่ได้รับมอบหมาย', HelpIcon) \ n");
_smarty_console.document.write ("parent.addChild (โหนด {$ เคาน์เตอร์}); \ n");
{$ เคาน์เตอร์ ++}
{/ ส่วน}

{* สร้างโหนดสำหรับตัวแปรแม่แบบ *}
_smarty_console.document.write ("โหนด var {$ เคาน์เตอร์} = TreeNode ใหม่ ({$ เคาน์เตอร์} 'มอบหมายตัวแปรแม่แบบ:', อาร์เรย์ใหม่ (closedGif, openGif)); \ n");
_smarty_console.document.write ("rootNode.addChild (โหนด {$ เคาน์เตอร์}); \ n");
_smarty_console.document.write ("แม่ var = node {$ เคาน์เตอร์}; \ n");
{$ เคาน์เตอร์ ++}

{* สร้างโหนดลูกสำหรับตัวแปรแม่แบบ *}
{ส่วนวงชื่อ = vars = $ _ debug_keys}
{ถ้า $ _debug_keys [vars] = '_user_debug' && $ _debug_keys [vars] = '_user_debug_key'}
_smarty_console.document.write ("var โหนด {$ เคาน์เตอร์} = TreeNode ใหม่ ({$ เคาน์เตอร์} '{ldelim} $ {$ _ debug_keys [Vars]} {rdelim}', pageIcon '{$ _debug_vals [vars] | @ debug_print_var: 0 1000 | หลบหนี: จาวาสคริปต์ | หลบหนี: จาวาสคริปต์} '); \ n ");
_smarty_console.document.write ("parent.addChild (โหนด {$ เคาน์เตอร์}); \ n");
{$ เคาน์เตอร์ ++}
{/ ถ้า}
{} sectionelse
_smarty_console.document.write ("var โหนด {$ เคาน์เตอร์} = ใหม่ TreeNode ({$ เคาน์เตอร์} 'ไม่มีตัวแปรแม่แบบที่ได้รับมอบหมาย', HelpIcon) \ n");
_smarty_console.document.write ("parent.addChild (โหนด {$ เคาน์เตอร์}); \ n");
{$ เคาน์เตอร์ ++}
{/ ส่วน}

{* สร้างโหนดสำหรับตัวแปรไฟล์การกำหนดค่า Smarty *}
_smarty_console.document.write ("โหนด var {$ เคาน์เตอร์} = TreeNode ใหม่ ({$ เคาน์เตอร์} 'ที่ได้รับมอบหมายไฟล์ config ตัวแปร (ขอบเขตแม่แบบนอก):', อาร์เรย์ใหม่ (closedGif, openGif)); \ n");
_smarty_console.document.write ("rootNode.addChild (โหนด {$ เคาน์เตอร์}); \ n");
_smarty_console.document.write ("แม่ var = node {$ เคาน์เตอร์}; \ n");
{$ เคาน์เตอร์ ++}

{* สร้างโหนดลูกสำหรับตัวแปรไฟล์การกำหนดค่า Smarty *}
{ชื่อส่วน = ห่วง config_vars = $ _ debug_config_keys}
_smarty_console.document.write ("var โหนด {$ เคาน์เตอร์} = TreeNode ใหม่ ({$ เคาน์เตอร์} '{ldelim} $ {$ _ debug_config_keys [config_vars]} {rdelim}', pageIcon '{$ _debug_config_vals [config_vars] | @ debug_print_var: 0 1000 | หลบหนี: จาวาสคริปต์ | หลบหนี: จาวาสคริปต์} '); \ n ");
_smarty_console.document.write ("parent.addChild (โหนด {$ เคาน์เตอร์}); \ n");
{$ เคาน์เตอร์ ++}
{} sectionelse
_smarty_console.document.write ("var โหนด {$ เคาน์เตอร์} = ใหม่ TreeNode ({$ เคาน์เตอร์} 'ไม่มีการตั้งค่าตัวแปรที่ได้รับมอบหมาย', HelpIcon) \ n");
_smarty_console.document.write ("parent.addChild (โหนด {$ เคาน์เตอร์}); \ n");
{$ เคาน์เตอร์ ++}
{/ ส่วน}

_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 และผู้ใช้คอนโซลการแก้ปัญหา <\ / h3>");
_smarty_console.document.write ("<h4> คลิกที่ตัวแปรในต้นไม้ที่จะมีเนื้อหาของพวกเขาแสดงในแผงด้านขวา <\ / h4>".);
_smarty_console.document.write ("<ชายแดนตาราง = '0' id = 'debugtreetable'> <tr>");
_smarty_console.document.write ("<valign = 'top' สไตล์ td = 'ความกว้าง: 250px;'> <div id = 'debugtreediv'> และ <\ / div> <\ / font>");
_smarty_console.document.write ("<td valign = 'top'> <div id = 'debugtreetextdiv'> และ <\ / font>");
_smarty_console.document.write ("<\ / tr> <\ / table>");
_smarty_console.document.write ("<\ / body> <\ / html>");
_smarty_console.document.close ();
</ script>

แท็ก: ,
โพสต์ใน ข้อมูล , การเขียนโปรแกรม โดยโอเว่น

ทำตามความคิดเห็นผ่านทาง ฟีด RSS | แสดงความคิดเห็น | Trackback URL

ฝากความคิดเห็นของคุณ

© 2008 - 2014 - All Rights Reserved - Ideamesh, Inc 22 คำสั่ง 0.930 วินาที