| 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 > 0 && $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.
|