Foros del Web » Programando para Internet » PHP »

Pestañas PHP

Estas en el tema de Pestañas PHP en el foro de PHP en Foros del Web. hola saque de un post este codigo : Código PHP: <?php /* Menu con solapas */ class  menuSolapas {      //propiedades     var  $iten ;     var  $colorActiva ;     var  ...
  #1 (permalink)  
Antiguo 15/04/2009, 09:30
 
Fecha de Ingreso: octubre-2008
Mensajes: 151
Antigüedad: 15 años, 6 meses
Puntos: 1
Mensaje Pestañas PHP

hola saque de un post este codigo :

Código PHP:
<?php
/* Menu con solapas */
class menuSolapas
{
    
//propiedades
   
var $iten;
    var 
$colorActiva;
    var 
$colorNoActiva;
    var 
$alineacion;
    var 
$numeroItem 0;
    var 
$css;
    var 
$menu;
    var 
$defecto;
    
    
     function 
__construct($alineacion=0,$colorActiva="#CCCCCC",$colorNoActiva="#999999",$tamanoSolapa=10)
    {
        
$this->colorActiva $colorActiva;
        
$this->colorNoActiva $colorNoActiva;
        
$this->alineacion $alineacion;
        
$this->tamanoSolapa $tamanoSolapa;
    }
    
    function 
setSolapa($nombre="class_menu",$href="#",$defecto=0)
    {
        
        
//añadir parametro get para saber que solapa esta activa
        
if(eregi("\?",$href))
        {
            
$href.="&class_menu=".$this->numeroItem;
       }
        else
        {
            
$href.="?class_menu=".$this->numeroItem;
        }
        
    
        if(
$defecto == 0)
        {
            
$this->iten[$this->numeroItem] = '<td id="enlace_'.$this->numeroItem.'" class="solapa" onMouseOver="pasaEncima(this.id);" onMouseOut="quitaEncima(this.id)">
                <a href="'
.$href.'" id="class_menu_solapas_enlace">'.$nombre.'</a></td><td id="espaciomenu">&nbsp;</td>';
        }
        else
        {
            
$this->iten[$this->numeroItem] = '<td id="enlace_'.$this->numeroItem.'" class="solapa" onMouseOver="pasaEncima(this.id);" onMouseOut="quitaEncima(this.id)">
                <a href="'
.$href.'" id="class_menu_solapas_enlace">'.$nombre.'</a></td><td id="espaciomenu">&nbsp;</td>';
                
                
$this->defecto $this->numeroItem;
        }
            
$this->numeroItem++;
    }
    
     function 
setCssMenu($colorBorde="#CCCCCC",$colorFondo="#FFFFFF",$colorFuente="#CCCCCC",$tamanoFuente=12,$tipoFuente="verdana")
    {
    
        if(
$this->alineacion == 0)
        {
            
$totalLibre=intval(100-($this->numeroItem*$this->tamanoSolapa));
            
            if(
$totalLibre<0)
            {
                
$lineaIzq=5;
                
$lineaDere=5;
            }
            else
            {
                
$totalLibre=intval($totalLibre/2);
                
$lineaIzq=$totalLibre;
                
$lineaDere=$totalLibre;
            }
        }
        else
        {
            if(
$this->alineacion == 1//izquierda
            
{
                
$lineaIzq=0;
                
$lineaDere=100;
            }
            else
            {
                
//derecha
                
$lineaIzq=100;
                
$lineaDere=0;
            }
        }
        
        
$this->css='<style type="text/css">
            #class_menu_solapas_enlace:hover,#class_menu_solapas_enlace:visited,#class_menu_solapas_enlace:link
            { 
            text-decoration:none;
            font-size:'
.$tamanoFuente.'px;
            color:'
.$colorFuente.';
            font-family:'
.$tipoFuente.';
            }
            td.solapa
            {
                border-left:0px solid '
.$colorBorde.';
                border-top:0px solid '
.$colorBorde.';
                border-right:0px solid '
.$colorBorde.';
                border-bottom:5px solid '
.$colorBorde.';                
                padding:5px;
                width:'
.$this->tamanoSolapa.'%;
                text-align:center;
                background-color:'
.$this->colorNoActiva.';
            }
            #espaciomenu
            {
                border-bottom:5px solid '
.$colorBorde.';
            }
            #todoelmenu
            {
                background-color:'
.$colorFondo.';
            }
            #espaciomenuizq { border-bottom:5px solid '
.$colorBorde.'; width:'.$lineaIzq.'% }
            #espaciomenudere { border-bottom:5px solid '
.$colorBorde.'; width:'.$lineaDere.'% }
            '
.$this->cssDinamico().'
            </style>'
;
            
                
//Crear menu
                
$this->crearMenu();
    }
    
    function 
cssDinamico()
    {
        if(isset(
$_GET['class_menu']))
        {
            
$css='#enlace_'.strip_tags(trim(urldecode($_GET['class_menu']))).'{background-color:'.$this->colorActiva.'}';
        }
        else
        {
            
$css='#enlace_'.$this->defecto.'{background-color:'.$this->colorActiva.'}';
            
$_GET['class_menu'] = $this->defecto;
        }
            return 
$css;
    }
    
    function 
crearMenu()
    {
        
$this->menu.=$this->addJavascript();
        
        
$this->menu.='<table border="0" cellpadding="0" cellspacing="0">
                     <tr id="todoelmenu"><td id="espaciomenuizq">&nbsp;</td>'
;
        
        for(
$i=0;$i<count($this->iten);$i++)
        {
            
$this->menu.=$this->iten[$i];
        }
        
        
$this->menu.='<td id="espaciomenudere">&nbsp;</td>
                    </tr>
                    </table>'
;            
    }
    
    function 
addJavascript()
    {
        return 
'<script type="text/javascript" language="javascript">
                    function pasaEncima(id)
                    {
                        document.getElementById(id).style.backgroundColor="'
.$this->colorActiva.'";
                    }
                    
                    function quitaEncima(id)
                    {
                        document.getElementById(id).style.backgroundColor="'
.$this->colorNoActiva.'";
                        document.getElementById("enlace_'
.strip_tags(trim(urldecode($_GET['class_menu']))).'").style.backgroundColor="'.$this->colorActiva.'";                                
                    }
                        
                </script>'
;
    }
    
    function 
getMenu()
    {
        return 
$this->css.$this->menu;
    }    
}

?>

Código PHP:
<?php
//ejemplo de uso

/*Crear la clase y pasarle los siguientes parametros:

- 0,1,2 => alineacion centro,izquierda,derecha.
- Color solapa al pasar encima y esta activa.
- Color solapa por defecto.
- Ancho de cada solapa en %.
*/

$m = new menuSolapas(0,"#E39620","#DDDBDC",10);

/* Añadir una solapa al menu. Parametros:
* Nombre que se visualiza en la página.
* Url donde apunta el enlace.
* 0,1 => 1 para la solapa que saldra activa por defecto.
*/

$m->setSolapa("menu1","./empresas_micros.php?i=1");
$m->setSolapa("menu2","./empresas_micros.php?i=2",1);
$m->setSolapa("menu3","./empresas_micros.php?i=3");

/* Configurar el css
* color del borde
* color del fondo
* color de la fuente
* tamaño de la fuente
* tipo de fuente
*/

$m->setCssMenu("#E39620","#DDDBDC","#5D5D5D",12,"georgia");

echo 
$m->getMenu();

?>
lo habia probado en PHP 5 y anda perfecto pero en PHP 4 no reconoce los "private" y "public" asi q cambie los "private" por "var" y los "public" los saque. Ahora no tira error pero no me muestra que solapa esta seleccionada y no les pone color a estas.

si alguno sabe el porq y puede ayudarme se lo agradeceria.

desde ya muchas gracias.

saludos
  #2 (permalink)  
Antiguo 15/04/2009, 09:42
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Pestañas PHP

Las keyword private, public y protected fueron introducidas a partir de PHP5.

Se usa el keyword var solamente. Creo haber visto que para declarar una variable privada era $_tuVariable y una protegida $_TtuVariable

Última edición por Ronruby; 15/04/2009 a las 10:03
  #3 (permalink)  
Antiguo 15/04/2009, 09:49
 
Fecha de Ingreso: octubre-2008
Mensajes: 151
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Pestañas PHP

Cita:
Iniciado por Ronruby Ver Mensaje
Las keyword private, public y protected fueron introducidas a partir de PHP5.

Para crear una variable PUBLICA en PHP4 es:
var $tuvariable;

Para una PRIVADA es:
var $_tuvariable;

Y para una variable PROTEGIDA:
var $_Ttuvariable;
Pero ese no es el prbolema porq sigue sin andar bien..

gracias igualmente
  #4 (permalink)  
Antiguo 15/04/2009, 09:55
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Pestañas PHP

Ah, PHP4 tampoco cuenta con __construct()
En su lugar tienes que crear una funcion con el mismo nombre de la clase:

class Hola {
//Constructor en PHP4
function Hola($texto) {
echo $texto;
}
}
  #5 (permalink)  
Antiguo 15/04/2009, 10:00
 
Fecha de Ingreso: octubre-2008
Mensajes: 151
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Pestañas PHP

Cita:
Iniciado por Ronruby Ver Mensaje
Ah, PHP4 tampoco cuenta con __construct()
En su lugar tienes que crear una funcion con el mismo nombre de la clase:

class Hola {
//Constructor en PHP4
function Hola($texto) {
echo $texto;
}
}
Muchas gracias ese era el problema.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:32.