SIGO AGRADECIENDO los VOTOS NEGATIVOS! gracias IsaBelM
Código PHP:
<?php
Class Css_menu {
private $items = array();
private $startCode,$endCode;
private $liOnCssClass=null;
private $liOffCssClass=null;
private $liDefaultCssClass=null;
private $aOnCssClass=null;
private $aOffCssClass=null;
private $aDefaultCssClass=null;
public function add ($uri,$anchor,$on=null){
$on_a = null;
$on_li = null;
if ($on==true){
if ($this->liOnCssClass!=null){
$on_li = $this->liOnCssClass;
}
if ($this->aOnCssClass!=null){
$on_a = $this->aOnCssClass;
}
}else{
if ($on==false){
if ($this->liOffCssClass!=null){
$on_li = $this->liOffCssClass;
}
if ($this->aOffCssClass!=null){
$on_a = $this->aOffCssClass;
}
}else{
// ==null
if ($this->liDefaultCssClass!=null){
$on_li = $this->liDefaultCssClass;
}
if ($this->aDefaultCssClass!=null){
$on_a = $this->aDefaultCssClass;
}
}
}
$this->items[] = array($uri,$anchor,$on_li,$on_a);
}
public function setStartCode($code){
$this->startCode = $code;
}
public function setEndCode($code){
$this->endCode = $code;
}
/* clase css <li> de tab activo */
public function setLiOnCssClass($code){
$this->liOnCssClass = $code;
}
/* clase css <li> de tab inactivo */
public function setLiOffCssClass($code){
$this->liOffCssClass = $code;
}
/* clase css <li> de tab por defecto */
public function setLiDefaultCssClass($code){
$this->liDefaultCssClass = $code;
}
/* clase css <a> de tab activo */
public function setAOnCssClass($code){
$this->aOnCssClass = $code;
}
/* clase css <a> de tab inactivo */
public function setAOffCssClass($code){
$this->aOffCssClass = $code;
}
/* clase css <a> de tab por defecto */
public function setADefaultCssClass($code){
$this->aDefaultCssClass = $code;
}
public function render(){
$out = $this->startCode;
foreach ($this->items as $item){
if ($item[2]!=null){
$li_class = "class= \"{$item[2]}\"";
}else{
$li_class='';
}
if ($item[3]!=null){
$a_class = "class= \"{$item[3]}\"";
}else{
$a_class='';
}
$out .= "<li $li_class ><a $a_class href=\"{$item[0]}\">{$item[1]}</a></li>";
}
$out .= $this->endCode;
return $out;
}
public function __tostring(){
return $this->render();
}
} // end class
Uso:
Código PHP:
<?php
$this->css_menu->setStartCode('<div id="tabmenu"><ul><li class="tm_begin"></li>');
$this->css_menu->setEndCode('<li class="tm_end"> </li></ul></div>');
$this->css_menu->setLiOnCssClass('on');
$this->css_menu->setLiOffCssClass('ge');
$this->css_menu->add('#','Inicio',TRUE);
$this->css_menu->add('#','Pago x post');
$this->css_menu->add('#','F.A.Q.');
$this->css_menu->add('#','Contacto');
echo $this->css_menu;
SE que les encanta... criticar y desprestgiar a los colaboradores... bueno ahi tenes... porque "el que hace se equivoca y el que no..se calla la boca"
PD: veran que generalizar hace el codigo UN POCO mas largo (mas alla de que no use __set() )