Yii Framework Forum: [RESUELTO] Ayuda con array() de SMenu[EXTENSION] - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[RESUELTO] Ayuda con array() de SMenu[EXTENSION] Rate Topic: -----

#1 User is offline   netbur 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 42
  • Joined: 03-June 09

Posted 24 February 2010 - 08:29 AM

Saludos :

Estoy adaptando la extensión SMenu a mi sitio para lo que me he creado un componente en el que voy a carga los array de las secciones y las subsecciones. Las secciones las cargo sin problema pero al añadir las subsecciones al array de cada seccion solo consigo añadir un elemento.

public function run()
	{
		$criteria=new CDbCriteria;
		$criteria->order='orden ASC';
		$seccionList=seccion::model()->findAll($criteria);
		
		$nivel1=array();
						
		foreach($seccionList as $seccion):
			$nivel2=array();
				foreach($seccion->subsecciones as $subseccion):
					$nivel2=array("url"=>array("route"=>"/subseccion/".$subseccion->slug), "label"=>$subseccion->nombre  );		
				endforeach;
			
			array_push($nivel1,array("url"=>array("route"=>"/seccion/".$seccion->slug), "label"=>$seccion->nombre , $nivel2 ) );
			
		endforeach;

		$this->render('secciones',array(
			'secciones'=>$seccionList,
			'nivel1'=>$nivel1,
		));
	}


Se que el problema esta en la linea:
$nivel2=array("url"=>array("route"=>"/subseccion/".$subseccion->slug), "label"=>$subseccion->nombre  );	

no añado bien los elementos al array $nivel2.

He probado con :
array_push($nivel2,array("url"=>array("route"=>"/subseccion/".$subseccion->slug), "label"=>$subseccion->nombre ) );


$nivel2[]=array("url"=>array("route"=>"/subseccion/".$subseccion->slug), "label"=>$subseccion->nombre  );	


pero ninguno carga las subsecciones.

Si alguien me puede orientar, muchas gracias
0

#2 User is offline   netbur 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 42
  • Joined: 03-June 09

Posted 01 March 2010 - 08:06 AM

Al final lo he resuelto con este código, por si le vale alguno :


public function run()
	{
		
		$criteria=new CDbCriteria;
		$criteria->order='orden ASC';
		$seccionList=seccion::model()->findAll($criteria);
						
		foreach($seccionList as $seccion):
			
		 $Menu['url']['route'] = "/seccion/".$seccion->slug;
         	 $Menu['label'] = $seccion->nombre;
			
		    foreach($seccion->subsecciones as $subseccion):
            
                    	$Submenu['url']['route'] = "/subseccion/".$subseccion->slug;
			$Submenu['label'] = $subseccion->nombre;
		        $Menu[] = $Submenu;
			
		    endforeach;
			
			$menu[] = $Menu;
			unset($Menu);
			
		endforeach;

		$this->render('secciones',array(
			'secciones'=>$seccionList,
			'nivel1'=>$menu,
		));
	}


0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users