本文整理汇总了PHP中HTML_TreeMenu::createFromStructure方法的典型用法代码示例。如果您正苦于以下问题:PHP HTML_TreeMenu::createFromStructure方法的具体用法?PHP HTML_TreeMenu::createFromStructure怎么用?PHP HTML_TreeMenu::createFromStructure使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTML_TreeMenu
的用法示例。
在下文中一共展示了HTML_TreeMenu::createFromStructure方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createFromXML
/**
* Creates a treeMenu from XML. The structure of your XML should be
* like so:
*
* <treemenu>
* <node text="First node" icon="folder.gif" expandedIcon="folder-expanded.gif" />
* <node text="Second node" icon="folder.gif" expandedIcon="folder-expanded.gif">
* <node text="Sub node" icon="folder.gif" expandedIcon="folder-expanded.gif" />
* </node>
* <node text="Third node" icon="folder.gif" expandedIcon="folder-expanded.gif">
* </treemenu>
*
* Any of the options you can supply to the HTML_TreeNode constructor can be supplied as
* attributes to the <node> tag. If there are no subnodes for a particular node, you can
* use the XML shortcut <node ... /> instead of <node ... ></node>. The $xml argument can
* be either the XML as a string, or an pre-created XML_Tree object. Also, this method
* REQUIRES my own Tree class to work (http://phpguru.org/tree.html). If this has not
* been include()ed or require()ed this method will die().
*
* @param mixed $xml This can be either a string containing the XML, or an XML_Tree object
* (the PEAR::XML_Tree package).
* @return object The HTML_TreeMenu object
*/
function createFromXML($xml)
{
if (!class_exists('Tree')) {
die('Could not find Tree class');
}
// Supplied $xml is a string
if (is_string($xml)) {
require_once 'XML/Tree.php';
$xmlTree =& new XML_Tree();
$xmlTree->getTreeFromString($xml);
// Supplied $xml is an XML_Tree object
} else {
$xmlTree = $xml;
}
// Now process the XML_Tree object, setting the XML attributes
// to be the tag data (with out the XML tag name or contents).
$treeStructure = Tree::createFromXMLTree($xmlTree, true);
$treeStructure->nodes->traverse(create_function('&$node', '$tagData = $node->getTag(); $node->setTag($tagData["attributes"]);'));
return HTML_TreeMenu::createFromStructure(array('structure' => $treeStructure));
}