Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Migas de pan... (breadcrumbs) (https://www.clubdelphi.com/foros/showthread.php?t=68029)

movorack 20-05-2010 18:50:03

Migas de pan... (breadcrumbs)
 
Hola a todos...

aquí les dejo un pequeño aporte... un script para establecer las migas de pan o ruta de navegación de una web (breadcrumbs)...

algo como:

Inicio > seccion > articulo > deja tu comentario

bueno aquí la clase (le falta pulirla un tanto... o mas):

Código PHP:

class breadcrumb {
  public 
$links "";    
  public 
$separator "-";
  
  private 
$_breadcrumb = array();
  private 
$index 0;
  
  public function 
__construct($separator "-"){
    
$this->separator $separator;
    if (!isset(
$_SESSION["breadcrumb"])){
      
$_SESSION["breadcrumb"] = array();
    };
    
$this->_breadcrumb $_SESSION["breadcrumb"];
    
$this->index count($this->_breadcrumb)-1;    
  }
  
  public function 
reset(){
    
$this->_breadcrumb = array();
    
$_SESSION["breadcrumb"] = $this->_breadcrumb;
  }
  
  public function 
add_crumb($index$name$url){
    
$this->_breadcrumb[$index]["name"] = $name;
    
$this->_breadcrumb[$index]["url"] = WEB_HOST.$url;
    
$this->index $index;
    
$_SESSION["breadcrumb"] = $this->_breadcrumb;
  }
  
  public function 
display(){
    
$links "";
    for(
$i=0$i <= count($this->_breadcrumb)-1$i++){
      if (
$i && $i <= $this->index) { $links .= $this->separator "; };
      if (
$i == $this->index){
        
$links .= "<span>{$this->_breadcrumb[$i]['name']}</span>";
      } else if (
$i $this->index) { 
        
$links .= "<a href=\"{$this->_breadcrumb[$i]['url']}\">{$this->_breadcrumb[$i]['name']}</a>";
      }; 
    };
    
    
$this->links $links;
    echo 
$this->links;
  }


aquí la forma de usarla...

Código PHP:

session_start();
$breadcrumb = new breadcrumb();
$breadcrumb->add_crumb(1"Inicio""index.php");
$breadcrumb->add_crumb(2"Seccion""seccion.php");
$breadcrumb->add_crumb(3"Articulo""articulo.php");
$breadcrumb->display(); 

la salida seria:

Inicio - Seccion - Articulo

obvio que manejarla tan así no es muy atractivo pero se puede automatizar un poco mas la forma en que se registran las migajas...

Código PHP:

$breadcrumb->add_crumb(1$web->lang_options[$web->secc], $_SERVER["SCRIPT_NAME"]); 

bueno... es un pequeño aporte... saludos.


La franja horaria es GMT +2. Ahora son las 17:27:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi