PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HTML_TreeMenu::createFromXML() - Probleme


Knisterkarl
27.01.2007, 23:30:08
Hallo zusammen,

bin jetzt schon seit einiger Zeit dabei, die Methode createFromXML() der Pear Klasse HTML_TreeMenu zum laufen zu bekommen.

Leider ohne Erfolg....

Habe schon so gut wie alles ausprobiert (PHP 4.xx, PHP 5, Linux, Windows) und sehe langsam den Wald vor lauter Bäumen nicht mehr.

folgende xml datei soll als Baummenü dargstellt werden:


<?xml version="1.0"?>
<treemenu>
<node text="Physical" icon="folder.gif" expandedIcon="folder-expanded.gif">
<node text="Entities" icon="folder.gif" expandedIcon="folder-expanded.gif"/>
<node text="Locations" icon="folder.gif" expandedIcon="folder-expanded.gif"/>
<node text="Control Points" icon="folder.gif" expandedIcon="folder-expanded.gif"/>
<node text="Types" icon="folder.gif" expandedIcon="folder-expanded.gif">
<node text="Entity Type" icon="folder.gif" expandedIcon="folder-expanded.gif"/>
<node text="Location Type" icon="folder.gif" expandedIcon="folder-expanded.gif"/>
<node text="Control Point Type" icon="folder.gif" expandedIcon="folder-expanded.gif"/>
</node>
</node>
<node text="Personnel" icon="folder.gif" expandedIcon="folder-expanded.gif">
<node text="People" icon="folder.gif" expandedIcon="folder-expanded.gif"/>
<node text="Roles" icon="folder.gif" expandedIcon="folder-expanded.gif"/>
</node>
</treemenu>

zur verarbeitung und ausgabe benutze ich diese datei:

<?php
require_once('HTML/TreeMenu.php');
require_once('Tree/Tree.php');
require_once('XML/Tree.php');

$tree = new XML_Tree;

$xml = file_get_contents('menu.xml');

$tree -> getTreeFromString($xml);//PEAR::XML_Tree Objekt müsste laut Doku auch laufen

$menu = new HTML_TreeMenu();

$menu->createFromXML($tree);


$tree = new HTML_TreeMenu_DHTML($menu);

?>
<html>
<head>
<style type="text/css">
.menuDefault {
font-style: italic;
font-family: arial, helvetica;
}
</style>
<script src="tree_menu/TreeMenu.js" type="text/javascript"></script>
</head>
<body>

<?php $tree->printMenu()?>

</body>



und hier die ausgabe

<html>
<head>
<style type="text/css">
.menuDefault {
font-style: italic;
font-family: arial, helvetica;
}
</style>
<script src="tree_menu/TreeMenu.js" type="text/javascript"></script>
</head>
<body>


<script language="javascript" type="text/javascript">
objTreeMenu_1 = new TreeMenu("images", "objTreeMenu_1", "_self", "", true, false);

objTreeMenu_1.drawMenu();
objTreeMenu_1.writeOutput();
objTreeMenu_1.resetBranches();
</script>

</body>

Das Problem, an dem ich hänge, ist das der Baum einfach nicht aufgebaut wird. Das entsprechende JavaScript wird ohne items (knoten inkl. attribute) ausgegeben.

Hat jemand schon Erfahrung oder ähnliche Schwierigkeiten gehabt und gibt es irgend eine Lösung, die methode createFromXML() nutzen zu können?!

Hilfe wäre großartig!!!

Gruß,

Stephan