Documentación GVHIDRA 3.1.5
Referencia de la Clase HTML_TreeMenu_DHTML
Diagrama de herencias de HTML_TreeMenu_DHTML
HTML_TreeMenu_Presentation

Métodos públicos

 HTML_TreeMenu_DHTML (&$structure, $options=array(), $isDynamic=true)
 toHTML ()
 _nodeToHTML ($nodeObj, $prefix, $return= 'newNode', $currentDepth=0, $maxDepthPrefix=null)

Campos de datos

 $isDynamic
 $images
 $linkTarget
 $usePersistence
 $defaultClass
 $noTopLevelImages
 $jsObjectName

Descripción detallada

HTML_TreeMenu_DHTML class

This class is a presentation class for the tree structure created using the TreeMenu/TreeNode. It presents the traditional tree, static for browsers that can't handle the DHTML.

Definición en la línea 532 del archivo TreeMenu.php.


Documentación de las funciones miembro

_nodeToHTML ( nodeObj,
prefix,
return = 'newNode',
currentDepth = 0,
maxDepthPrefix = null 
)

Prints a node of the menu

private

Loop through subnodes

Definición en la línea 672 del archivo TreeMenu.php.

    {
        $prefix = empty($maxDepthPrefix) ? $prefix : $maxDepthPrefix;
        
        $expanded  = $this->isDynamic ? ($nodeObj->expanded  ? 'true' : 'false') : 'true';
        $isDynamic = $this->isDynamic ? ($nodeObj->isDynamic ? 'true' : 'false') : 'false';
        $html = sprintf("\t %s = %s.addItem(new TreeNode('%s', %s, %s, %s, %s, '%s', '%s', %s));\n",
                        $return,
                        $prefix,
                        str_replace("'", "\\'", $nodeObj->text),
                        !empty($nodeObj->icon) ? "'" . $nodeObj->icon . "'" : 'null',
                        !empty($nodeObj->link) ? "'" . $nodeObj->link . "'" : 'null',
                        $expanded,
                        $isDynamic,
                        $nodeObj->cssClass,
                        $nodeObj->linkTarget,
                        !empty($nodeObj->expandedIcon) ? "'" . $nodeObj->expandedIcon . "'" : 'null');

        foreach ($nodeObj->events as $event => $handler) {
            $html .= sprintf("\t %s.setEvent('%s', '%s');\n",
                             $return,
                             $event,
                             str_replace(array("\r", "\n", "'"), array('\r', '\n', "\'"), $handler));
        }

        if ($this->maxDepth > 0 AND $currentDepth == $this->maxDepth) {
            $maxDepthPrefix = $prefix;
        }

        if (!empty($nodeObj->items)) {
            for ($i=0; $i<count($nodeObj->items); $i++) {
                $html .= $this->_nodeToHTML($nodeObj->items[$i], $return, $return . '_' . ($i + 1), $currentDepth + 1, $maxDepthPrefix);
            }
        }

        return $html;
    }
HTML_TreeMenu_DHTML ( &$  structure,
options = array(),
isDynamic = true 
)

Constructor, takes the tree structure as an argument and an array of options which can consist of: o images - The path to the images folder. Defaults to "images" o linkTarget - The target for the link. Defaults to "_self" o defaultClass - The default CSS class to apply to a node. Default is none. o usePersistence - Whether to use clientside persistence. This persistence is achieved using cookies. Default is true. o noTopLevelImages - Whether to skip displaying the first level of images if there is multiple top level branches. o maxDepth - The maximum depth of indentation. Useful for ensuring deeply nested trees don't go way off to the right of your page etc. Defaults to no limit. o jsObjectName - Name to use for jabbascript object. Set this if you have different menus that should maintain their persistence information separately.

And also a boolean for whether the entire tree is dynamic or not. This overrides any perNode dynamic settings.

Parámetros:
object$structureThe menu structure
array$optionsArray of options
bool$isDynamicWhether the tree is dynamic or not

Definición en la línea 601 del archivo TreeMenu.php.

    {
        $this->HTML_TreeMenu_Presentation($structure);
        $this->isDynamic = $isDynamic;

        // Defaults
        $this->images           = 'images';
        $this->maxDepth         = 0;        // No limit
        $this->linkTarget       = '_self';
        $this->jsObjectName     = 'objTreeMenu';
        $this->defaultClass     = '';
        $this->usePersistence   = true;
        $this->noTopLevelImages = false;

        foreach ($options as $option => $value) {
            $this->$option = $value;
        }
    }
toHTML ( )

Returns the HTML for the menu. This method can be used instead of printMenu() to use the menu system with a template system.

public

Devuelve:
string The HTML for the menu

Loop through subnodes

Definición en la línea 628 del archivo TreeMenu.php.

    {
        static $count = 0;
        $menuObj     = $this->jsObjectName . '_' . ++$count;

        $html  = "\n";
        $html .= '<script type="text/javascript">'; 
        $html .= "\n<!--//--><![CDATA[//><!--\n\t";
        $html .= sprintf('%s = new TreeMenu("%s", "%s", "%s", "%s", %s, %s);',
                         $menuObj,
                         $this->images,
                         $menuObj,
                         $this->linkTarget,
                         $this->defaultClass,
                         $this->usePersistence ? 'true' : 'false',
                         $this->noTopLevelImages ? 'true' : 'false');

        $html .= "\n";

        if (isset($this->menu->items)) {
            for ($i=0; $i<count($this->menu->items); $i++) {
                $html .= $this->_nodeToHTML($this->menu->items[$i], $menuObj);
            }
        }

        $html .= sprintf("\n\t%s.drawMenu();", $menuObj);
        $html .= sprintf("\n\t%s.writeOutput();", $menuObj);

        if ($this->usePersistence && $this->isDynamic) {
            $html .= sprintf("\n\t%s.resetBranches();", $menuObj);
        }
        $html .= "\n//--><!]]>\n</script>";

        return $html;
    }

Documentación de los campos

$defaultClass

The default CSS class for the nodes

Definición en la línea 562 del archivo TreeMenu.php.

$images

Definición en la línea 545 del archivo TreeMenu.php.

$isDynamic

Dynamic status of the treemenu. If true (default) this has no effect. If false it will override all dynamic status vars and set the menu to be fully expanded an non-dynamic.

Definición en la línea 539 del archivo TreeMenu.php.

$jsObjectName

Definición en la línea 574 del archivo TreeMenu.php.

$linkTarget

Definición en la línea 551 del archivo TreeMenu.php.

$noTopLevelImages

Definición en la línea 568 del archivo TreeMenu.php.

$usePersistence

Definición en la línea 557 del archivo TreeMenu.php.


La documentación para esta clase fue generada a partir del siguiente fichero: