Лютий
13
2006

Smarty Як Javascript налагодження шаблону

UPDATE: пакет можна завантажити тут: http://ideamesh.com/file/11/Smarty-Debug-with-Collapsible-Variables.html

Ось модифікований код, працює і готовий до роботи ..

Ось посилання де можна скачати nanotree JavaScript ...
http://nanotree.sourceforge.net/ ~ ~ V

Замініть моєї мінлива {$} Site.framework_pub відповідним чином, що JavaScript та зображення можуть бути завантажені правильно.

Також зверніть увагу, я додав в розділ обробляти певні користувачем змінні налагодження ... Моя налагодження структура під назвою «_user_debug» і «_user_debug_key"

Для отримання додаткової інформації про те, як реалізувати цей погляд на цю тему:
http://www.smarty.net/forums/viewtopic.php?p=31241 # 31241

В іншому випадку, якщо вас не цікавить, що це безпечно, щоб видалити цей розділ з шаблону. Крім того, можна видалити, якщо {} заяву, яку я використовував, щоб обернути розділ шаблону обл.

Інша річ, яку ви можете грати с, скільки символів виводяться в якості значення для налагодження. Подивіться на це і змінити другий номер, щоб змінити максимальний вихідний символів: @ debug_print_var: 0:1000

PS Чи можна з'ясувати, чому я отримую простір над <h3> в правій клітинці?

Сподіваюся, це допоможе, я знаю, мені подобається Посміхатися

PS Щоб отримати всі JavaScript працює правильно вам потрібно всього лише змінити рядок "УАГ mynanopath =" і переконайтеся, що воно вказує на ваш публічний каталог nanopath. Ви можете вниз nanotree пакет http://sourceforge.net/projects/nanotree/

Ось оновлений код

Код:
{*
Smarty користувача DHTML налагодження шаблону
@ Автор Hielke Hoeve
@ Автор Оуен Коул <owenc на ideamesh точка com>
@ З 02/13/2006 Smarty 2.6.12
@ Пакет Smarty
@ Файл debug.tpl
*}

{} Assign_debug_info

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

якщо (self.name == ") {} ldelim
VAR назва = "Консоль";
{} Rdelim
ще {} ldelim
VAR назва = 'консоль_ + self.name;
{} Rdelim
_smarty_console = window.open ("", title.value, "ширина = 800 мм, висота = 600, змінювати розміри, смуги прокрутки = так");
_smarty_console.document.write ("<html> <head> <title> Smarty Debug консоль_" + self.name + "<\ / title> \ п");
_smarty_console.document.write ("<style> \ п");
_smarty_console.document.write ("h3 {} ldelim оббивка: 5px 5px 5px 5px; краю: 0px 0px 0px 0px; фонового кольору: # CCCCCC;} {rdelim \ п");
_smarty_console.document.write ("# {debugtreetable ldelim} Ширина: 100%;} {rdelim \ п");
_smarty_console.document.write ("# debugtreetable TD {} ldelim кордону: тонкі чорні;} {rdelim \ п");
_smarty_console.document.write ("# debugtreetextdiv справ {} ldelim заповнення лівого: 10px;} {rdelim \ п");
_smarty_console.document.write ("<\ / стиль> \ п");
_smarty_console.document.write ("<script language=\"Javascript\" src=\"" + + mynanopath "nanotree.js\"> <\ / сценарій> \ п");
_smarty_console.document.write ("<script type=\"text\/javascript\" language=\"JavaScript\"> \ п");
_smarty_console.document.write ("<- \ п");
_smarty_console.document.write ("showRootNode = true; \ п");
_smarty_console.document.write ("sortNodes = 0, \ п");
_smarty_console.document.write ("dragable = брехня; \ п");
_smarty_console.document.write ("showAllNodesOnStartup = true; \ п");

_smarty_console.document.write ("\ / ** \ п");
_smarty_console.document.write ("*, необхідні для ініціалізації дерево \ л.");
_smarty_console.document.write ("* І називати showTree (ImagePath). на самому ділі показати дерево \ п");
_smarty_console.document.write ("* Крім того це може бути зроблено в блоці сценарію в нижній частині сторінки \ л.");
_smarty_console.document.write ("* Хоча цей метод кілька чистих \ л.");
_smarty_console.document.write ("* \ / \ п");
_smarty_console.document.write ("функції ініціалізації () {} ldelim \ п");
_smarty_console.document.write ("контейнер = document.getElementById ('debugtreediv'); \ п");
_smarty_console.document.write ("showTree ('" + mynanopath + "'); \ п");
_smarty_console.document.write ("{} rdelim \ п");

_smarty_console.document.write ("\ / ** \ п");
_smarty_console.document.write ("* Викликається, коли користувач натискає на вузлі \ л.");
_smarty_console.document.write ("* @ параметрів TreeNode Об'єкт TreeNode, які були кнопку \ л.");
_smarty_console.document.write ("* \ / \ п");
_smarty_console.document.write ("функція StandardClick (TreeNode) {} ldelim \ п");
_smarty_console.document.write ("VAR MyText = document.getElementById ('debugtreetextdiv'); \ п");
_smarty_console.document.write ("VAR параметром = treeNode.getParam (); \ п");
_smarty_console.document.write ("mytext.innerHTML = (параметр ==") treeNode.getName ():? <h3> + treeNode.getName () + '<\ / h3> <div> + + параметр " <\ / div> '; \ п ");
_smarty_console.document.write ("{} rdelim \ п");

_smarty_console.document.write ("функція nodeEdited (TreeNode) {} ldelim \ п");
_smarty_console.document.write ("{} rdelim \ п");

_smarty_console.document.write ("VAR closedGif = '" + + mynanopath "образів \ / folder_closed.gif; \ п");
_smarty_console.document.write ("VAR openGif = '" + + mynanopath "образів \ / folder_open.gif; \ п");
_smarty_console.document.write ("VAR pageIcon = '" + + mynanopath "образів \ / стр. 16 × 16.gif", \ п ");
_smarty_console.document.write ("VAR userIcon = '" + + mynanopath "образів \ / user_16 × 16.gif", \ п ");
_smarty_console.document.write ("VAR HelpIcon = '" + + mynanopath "образів \ / help_16 × 16.gif", \ п ");

{* Реєстрація * база вузлів}
{Assign мінлива = значення лічильника = 0}
_smarty_console.document.write ("RootNode = новий TreeNode ({$} лічильник" Smarty Debug, HelpIcon «Це Debug дерево замінює класичну версію Smarty консоль налагодження.); \ п");
{$ Лічильник + +}

{* Створити вузол шаблон включає в себе *}
_smarty_console.document.write ("VAR вузол {$ лічильник} = новий TreeNode ({$} лічильник" включений шаблонів і конфігураційних файлів (час завантаження в секундах): ', pageIcon "");
_smarty_console.document.write ("<table width=\"100%\">");
{Назва розділу = шаблонів цикл = $ _debug_tpls}
_smarty_console.document.write ("<tr bgcolor={if %templates.index% є even}#eeeeee{else}#fafafa{/if}> <td colspan=2> <tt> {Назва розділу = відступ цикл = $ _debug_tpls [Шаблони]. глибина} &&& {/ розділ} <колір шрифту = {якщо $ _debug_tpls [Шаблони]. типу рівняння "шаблон"} {коричневий ElseIf $ _debug_tpls [Шаблони]. типу рівняння Ісеть ($ _debug_tpls [Шаблони] exec_time.)} <font Size=-1> Ф ({$ _debug_tpls [Шаблони] exec_time | string_format. "% .5 Е"}) {якщо% templates.index% екв 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 ("<\ \ / стіл>");
_smarty_console.document.write ("'); \ п");

_smarty_console.document.write ("rootNode.addChild (вузол {$ лічильник}); \ п");
{$ Лічильник + +}

{* Створити вузол користувальницькі змінні налагодження *}
_smarty_console.document.write ("VAR вузол {$ лічильник} = новий TreeNode ({$} лічильник", призначені для користувача змінні налагодження: ', новий Array (closedGif, openGif)); \ п ");
_smarty_console.document.write ("rootNode.addChild (вузол {$ лічильник}); \ п");
_smarty_console.document.write ("VAR = батько вузла {$ лічильник} \ п");
{$ Лічильник + +}

{* Створення дочірніх вузлів користувальницькі змінні налагодження *}
{Назва розділу = змінні циклу = $ _user_debug}
_smarty_console.document.write ("VAR вузол {$ лічильник} = новий TreeNode ({$ лічильник}, {} ldelim $ {$ _user_debug_key [змінні]} {} rdelim, pageIcon" {$ _user_debug [змінні] | @ debug_print_var: 0:1000 | виходу: JavaScript | виходу: JavaScript} '); \ п ");
_smarty_console.document.write ("parent.addChild (вузол {$ лічильник}); \ п");
{$ Лічильник + +}
{} Sectionelse
_smarty_console.document.write ("VAR вузол {$ лічильник} = новий TreeNode ({$ лічильник}" Немає Інформація користувача Debug призначена, HelpIcon); \ п ");
_smarty_console.document.write ("parent.addChild (вузол {$ лічильник}); \ п");
{$ Лічильник + +}
{/ Розділ}

{* Створити вузол * шаблони змінних}
_smarty_console.document.write ("VAR вузол {$ лічильник} = новий TreeNode ({$} лічильник", присвоєні змінні шаблону, новий Array (closedGif, openGif)); \ п ");
_smarty_console.document.write ("rootNode.addChild (вузол {$ лічильник}); \ п");
_smarty_console.document.write ("VAR = батько вузла {$ лічильник} \ п");
{$ Лічильник + +}

{* Створення дочірніх вузлів для змінних шаблону *}
{Назва розділу = змінні циклу = $ _debug_keys}
{Якщо $ _debug_keys [змінні]! = && '_user_debug' $ _debug_keys [Змінні!] = '_user_debug_key}
_smarty_console.document.write ("VAR вузол {$ лічильник} = новий TreeNode ({$ лічильник}, {} ldelim $ {$ _debug_keys [змінні]} {} rdelim, pageIcon" {$ _debug_vals [змінні] | @ debug_print_var: 0:1000 | виходу: JavaScript | виходу: JavaScript} '); \ п ");
_smarty_console.document.write ("parent.addChild (вузол {$ лічильник}); \ п");
{$ Лічильник + +}
{/, Якщо}
{} Sectionelse
_smarty_console.document.write ("VAR вузол {$ лічильник} = новий TreeNode ({$ лічильник}" Немає змінних шаблону призначені, HelpIcon); \ п ");
_smarty_console.document.write ("parent.addChild (вузол {$ лічильник}); \ п");
{$ Лічильник + +}
{/ Розділ}

{* Створення вузла Smarty змінних конфігураційного файлу *}
_smarty_console.document.write ("VAR вузол {$ лічильник} = новий TreeNode ({$} лічильник", призначений файл конфігурації змінних (зовнішні рамки шаблонів), новий Array (closedGif, openGif)); \ п ");
_smarty_console.document.write ("rootNode.addChild (вузол {$ лічильник}); \ п");
_smarty_console.document.write ("VAR = батько вузла {$ лічильник} \ п");
{$ Лічильник + +}

{* Створення дочірніх вузлів для 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 | виходу: JavaScript | виходу: JavaScript} '); \ п ");
_smarty_console.document.write ("parent.addChild (вузол {$ лічильник}); \ п");
{$ Лічильник + +}
{} Sectionelse
_smarty_console.document.write ("VAR вузол {$ лічильник} = новий TreeNode ({$ лічильник}" Немає конфігурації змінних, приписаних », HelpIcon); \ п");
_smarty_console.document.write ("parent.addChild (вузол {$ лічильник}); \ п");
{$ Лічильник + +}
{/ Розділ}

_smarty_console.document.write ("\ / \ / -> \ п");
_smarty_console.document.write ("<\ / сценарій> \ п \ п");
_smarty_console.document.write ("<\ / HEAD> <body onload=\"init()\"> \ п");
_smarty_console.document.write ("<h3> Smarty і користувача консолі налагодження <\ / h3>");
_smarty_console.document.write ("<h4> Натисніть на змінні в дерево, щоб їх вміст відображається в правій бічній панелі <\ / 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> <\ / стіл>");
_smarty_console.document.write ("<\ / body> <\ / html>");
_smarty_console.document.close ();
</ SCRIPT>

Теги: ,
Відповідали в Керівництво , програмування Оуеном

Дотримуйтесь коментарі з RSS-канал | Залишити коментар | Trackback URL

Залиште коментар

 
© 2008 - 2012 - Всі права захищені - Ideamesh, Inc 22 запитів. 1,670 секунди.