Foros del Web » Programando para Internet » PHP » Zend »

Tree con Gedmo

Estas en el tema de Tree con Gedmo en el foro de Zend en Foros del Web. Hola: Hace tiempo que habia implementado en mi proyecto un Tree con la Extensión Gedmo, muy interesante, en este link en el penultimo ejemplo existe ...
  #1 (permalink)  
Antiguo 02/07/2013, 07:24
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
Tree con Gedmo

Hola:

Hace tiempo que habia implementado en mi proyecto un Tree con la Extensión Gedmo, muy interesante, en este link en el penultimo ejemplo existe una recursividad,
Código PHP:
private function render_nested_set($coll)
{
$output "\n"
  foreach (
$coll as $key=>$record)  {
    
$output .= "<li>".$record->getTitle();
    if (
$record->getChildren()!=null)    {
      
$output .= "\n".$this->render_nested_set($record->getChildren());
    }
    
$output .= "</li>\n";
    }
  return 
$output."</ul>\n";


pero no logro determinar que es $coll, cómo yo obtengo el array del tree ese asi:
Código PHP:
$repo $this->em->getRepository('Application\Entity\Menu');
$arrayTree $repo->childrenHierarchy(); 
un array de arrays hasta el último nodo, pero en el ejemplo demuestra que debe ser un objeto, pero no se con que funcion obtener dicho objeto, ojala y alguien me pueda ayudar, Gracias
  #2 (permalink)  
Antiguo 02/07/2013, 07:35
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Tree con Gedmo

Si lees el comentario siguiente al que muestras veras como le indican que lo que esta haciendo no es correcto y ademas le indican lo que debe utilizar(childrenHierarchy), que es lo que deseas lograr exactamente ?, si es redenerizar el arbol en formato de lista, tienes un ejemplo en la doc https://github.com/l3pp4rd/DoctrineE...eate-html-tree

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 02/07/2013, 08:12
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
Respuesta: Tree con Gedmo

Gracias por tu pronta respuesta, agarro la salida personalizada en html del tree, y efectivamente me muestra una lista ordenada del tree en <ul> y <li>, pero para mi mala fortuna necesito aun personalizar más esta lista es decir obtener algo asi:
Código HTML:
<ul>
<li><a href="#">Home</a></li>
	<li class="hasSub"><a href="#">Contact Us</a>
	<ul>
		<li><a href="#">Snail Mail Address</a></li>
	</ul>
	</li>
	<li class="hasSub"><a href="#">Resort</a>
	<ul>
		<li><a href="#">Ski Hire Facilities</a></li>
		<li><a class="fly" href="#">Main Ski Slopes</a>
		<ul>
			<li><a href="#">Beginners Slopes</a></li>
			<li><a href="#">Intermediate Slopes</a></li>
			<li><a class="fly" href="#">Advanced Skill Levels</a>
				<ul class="level4">
					<li><a href="#">Local</a></li> 
las condiciones para generar esta lista es simple, en el segundo nivel se inserta class="hasSub" y si estos tienen hijos class="fly", mi problema es que al childrenHierarchy() lo inserto como argumento, es posible en el mismo ejemplo sugerido por masterpuppet, generar esta lista personalizada?
  #4 (permalink)  
Antiguo 02/07/2013, 08:52
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Tree con Gedmo

Este ejemplo no te sirve https://github.com/l3pp4rd/DoctrineE...ms-as-2-levels ?, ahí tienes control total del html, de todas formas, no puedes hacerlo utilizando CSS3 ?

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 02/07/2013, 11:41
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
Respuesta: Tree con Gedmo

Me quedo bien, una ultima consulta, en el

$tree = $repo->childrenHierarchy(null,false,$options)

como haría para que inicie desde el 2do nivel del lvl, es decir que el primier nivel no lo considere el childrenHierarchy.

Etiquetas: tree
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 08:42.