Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 19-mar-2008, 15:01   #1 (permalink)
PICOROFG ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Menu Arbol Con Soporte Php

QUISIERA VER SI ME PUEDES AYUDAR EN ALGO DE UN PROYECTO QUE ESTOY REALIZANDO

TENGO UN MENU TIPO ARBOL CON UNA TABLA RECURSIVA QUE ME JALA LOS DATOS AL ARBOL
LA GRAFICA BIEN PERO NECESITO QUE AL SELECCIONAR UNO DE LOS CAMPOS DEL MENU
EJEMPLO:
- AZUAY
- CANTON
- PARROQUIA (SELECCIONO CON EL MOUSE)

ME CAPTURE ESA SELECCION EN UN CUADRO DE TEXTO DE ESTE MODO : AZUAY/CANTON/PARROQUIA
Código PHP:
class tree{
    
    var $elementArray = array();
    var $nameOfCookie = "menu_expandido"; 
    
    function tree()
    {
        
        
    }

    function writeCSS()
    {
        ?>
        <style type="text/css">
        
        #tree li{
            list-style-type:none;    
            font-family: arial;
            font-size:11px;
        }
        #dhtmlgoodies_topNodes{
            margin-left:0px;
            padding-left:0px;
        }
        #dhtmlgoodies_topNodes ul{
            margin-left:20px;
            padding-left:0px;
            display:none;
        }
        #tree .tree_link{
            line-height:13px;
            padding-left:2px;

        }
        #tree img{
            padding-top:2px;
        }
        #tree a{
            color: #000000;
            text-decoration:none;
        }
        .activeNodeLink{
            background-color: #316AC5;
            color: #FFFFFF;
            font-weight:bold;
        }
        </style>        
        <?php        
    
}
    
    function 
writeJavascript()
    {
        
?>
        <script type="text/javascript">
        
        var plusNode = 'estilos/mas.gif';
        var minusNode = 'estilos/menos.gif';
        
        var nameOfCookie = '<?php echo $this->nameOfCookie?>';
        <?php
        $cookieValue 
"";
        if(isset(
$_COOKIE[$this->nameOfCookie]))$cookieValue $_COOKIE[$this->nameOfCookie];        
        echo 
"var initExpandedNodes =\"".$cookieValue."\";\n";
        
?>        
        
        function Get_Cookie(name) { 
           var start = document.cookie.indexOf(name+"="); 
           var len = start+name.length+1; 
           if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
           if (start == -1) return null; 
           var end = document.cookie.indexOf(";",len); 
           if (end == -1) end = document.cookie.length; 
           return unescape(document.cookie.substring(len,end)); 
        } 
        
        function Set_Cookie(name,value,expires,path,domain,secure) { 
            expires = expires * 60*60*24*1000;
            var today = new Date();
            var expires_date = new Date( today.getTime() + (expires) );
            var cookieString = name + "=" +escape(value) + 
               ( (expires) ? ";expires=" + expires_date.toGMTString() : "") + 
               ( (path) ? ";path=" + path : "") + 
               ( (domain) ? ";domain=" + domain : "") + 
               ( (secure) ? ";secure" : ""); 
            document.cookie = cookieString; 
        } 
        
        
        function expandAll()
        {
            var treeObj = document.getElementById('tree');
            var images = treeObj.getElementsByTagName('IMG');
            for(var no=0;no<images.length;no++){
                if(images[no].className=='tree_plusminus' && images[no].src.indexOf(plusNode)>=0)expandNode(false,images[no]);
            }
        }
        function collapseAll()
        {
            var treeObj = document.getElementById('tree');
            var images = treeObj.getElementsByTagName('IMG');
            for(var no=0;no<images.length;no++){
                if(images[no].className=='tree_plusminus' && images[no].src.indexOf(minusNode)>=0)expandNode(false,images[no]);
            }
        }
        
        
        function expandNode(e,inputNode)
        {
            if(initExpandedNodes.length==0)initExpandedNodes=",";
            if(!inputNode)inputNode = this; 
            if(inputNode.tagName.toLowerCase()!='img')inputNode = inputNode.parentNode.getElementsByTagName('IMG')[0];    
            
            var inputId = inputNode.id.replace(/[^\d]/g,'');            
            
            var parentUl = inputNode.parentNode;
            var subUl = parentUl.getElementsByTagName('UL');

            if(subUl.length==0)return;
            if(subUl[0].style.display=='' || subUl[0].style.display=='none'){
                subUl[0].style.display = 'block';
                inputNode.src = minusNode;
                initExpandedNodes = initExpandedNodes.replace(',' + inputId+',',',');
                initExpandedNodes = initExpandedNodes + inputId + ',';
                
            }else{
                subUl[0].style.display = '';
                inputNode.src = plusNode;    
                initExpandedNodes = initExpandedNodes.replace(','+inputId+',',',');            
            }
            Set_Cookie(nameOfCookie,initExpandedNodes,60);
            
            
            
        }
            
        function initTree()
        {
            
            var parentNode = document.getElementById('tree');
            var lis = parentNode.getElementsByTagName('LI'); // Get reference to all the images in the tree
            for(var no=0;no<lis.length;no++){
                var subNodes = lis[no].getElementsByTagName('UL');
                if(subNodes.length>0){
                    lis[no].childNodes[0].style.visibility='visible';    
                }else{
                    lis[no].childNodes[0].style.visibility='hidden';
                }
            }    
            
            var images = parentNode.getElementsByTagName('IMG');
            for(var no=0;no<images.length;no++){
                if(images[no].className=='tree_plusminus')images[no].onclick = expandNode;                
            }    

            var aTags = parentNode.getElementsByTagName('A');
            var cursor = 'pointer';
            if(document.all)cursor = 'hand';
            for(var no=0;no<aTags.length;no++){
                aTags[no].onclick = expandNode;
                    
                aTags[no].style.cursor = cursor;
            
            }
            
            var initExpandedArray = initExpandedNodes.split(',');

            for(var no=0;no<initExpandedArray.length;no++){
                if(document.getElementById('plusMinus' + initExpandedArray[no])){
                    var obj = document.getElementById('plusMinus' + initExpandedArray[no]);    
                    expandNode(false,obj);
                }
            }                
        }
        
        window.onload = initTree;
        
        </script>    
        <?php
        
    
}
    
    function 
addToArray($id,$name,$parentID,$url="",$target="",$imageIcon="estilos/arrow.gif"){
        
        if(empty(
$parentID))$parentID=0;
            
        
$this->elementArray[$parentID][] = array($id,$name,$url,$target,$imageIcon);
    }
    
    function 
drawSubNode($parentID){
    
        if(isset(
$this->elementArray[$parentID])){

            echo 
"<ul>";
            for(
$no=0;$no<count($this->elementArray[$parentID]);$no++){
                
$urlAdd "";

                if(
$this->elementArray[$parentID][$no][2]){

                    
$urlAdd " ";
                    if(
$this->elementArray[$parentID][$no][3])$urlAdd.="";    
                }
                echo 
"<li class=\"tree_node\"><img class=\"tree_plusminus\" id=\"plusMinus".$this->elementArray[$parentID][$no][0]."\" src=\"estilos/mas.gif\"><img src=\"".$this->elementArray[$parentID][$no][4]."\"><a class=\"tree_link\"$urlAdd>".$this->elementArray[$parentID][$no][1]."</a>";
                
                
$this->drawSubNode($this->elementArray[$parentID][$no][0]);
                
                echo 
"</li>";
            }            
            echo 
"</ul>";            
        }        
    }
    
    function 
drawTree(){
        echo 
"<div id=\"tree\">";
        echo 
"<ul id=\"dhtmlgoodies_topNodes\">";
        for(
$no=0;$no<count($this->elementArray[0]);$no++){
            
$urlAdd "";
            if(
$this->elementArray[0][$no][2]){
                
$urlAdd " ";
                if(
$this->elementArray[0][$no][3])$urlAdd.="";    
            }
            echo 
"<li class=\"tree_node\" id=\"node_".$this->elementArray[0][$no][0]."\"><img id=\"plusMinus".$this->elementArray[0][$no][0]."\" class=\"tree_plusminus\" src=\"estilos/mas.gif\"><img src=\"".$this->elementArray[0][$no][4]."\"><a class=\"tree_link\"$urlAdd>".$this->elementArray[0][$no][1]."</a>";        
            
$this->drawSubNode($this->elementArray[0][$no][0]);
            echo 
"</li>";    
        }    
        echo 
"</ul>";    
        echo 
"</div>";    
        
    }
    
}
PICOROFG está desconectado   Responder Citando
Antiguo 19-mar-2008, 15:15   #2 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 11.283
Re: Menu Arbol Con Soporte Php

Hola PICOROFG,

Tu duda no tiene que ver con PHP en si, ya que el menú que indicas esta programado en JavaScript, te recomiendo re-plantees tu duda en ese foro.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 19-mar-2008, 15:31   #3 (permalink)
PICOROFG ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Re: Menu Arbol Con Soporte Php

Gracias Por La Ayuda Ya Lo Planteo Alla
PICOROFG está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 09:19.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93