| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Никита Козин 30.08.2005 08:46
Еще полезный пост: http://www.parser.ru/forum/?id=42382@print[v][temp]
^if(def $v){
^if($v is table){^printTable[$v]}
^if($v is hash){^printHash[$v]}
^if($v is string || $v is int || $v is double){$v}
^if($v is class){<u>класс</u>}
^if($v is object){<u>объект</u>}
^if($v is file){^printFile[$v]}
}
# end @print[]Метод не идеален, причем далеко не идеален. Но переписывать лень, а для отладки пока хватает и этого.@printHash[hash;params][_keys;level]
^if($hash is hash){
$order_direction[^if(def $params.direction){$params.direction}{asc}]
$level(^params.level.int(0))
$_keys[^hash._keys[]]
^_keys.sort{$_keys.key}[$order_direction]
$result[
<ul style="list-style-type: none^;">
^_keys.menu{
<li style="color: #000000" style="padding: 0^;">
<b>^$^if($level > 0){.}${_keys.key}^if($hash.[$_keys.key] is int){(}{[}</b>
<font color="#999999">
^if($hash.[$_keys.key] is hash){
^printHash[$hash.[$_keys.key]][
$.direction[$order_direction]
$.level(^eval($level+1))
]
}{
^print[$hash.[$_keys.key]]
}
</font>
<b>^if($hash.[$_keys.key] is int){)}{]}</b>
</li>
}
</ul>
]
}
# end @printHash[]