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

Menu desde Base de Datos

Estas en el tema de Menu desde Base de Datos en el foro de Symfony en Foros del Web. Hola, les comento estoy re escribiendo mi web, pero esta vez usando symfony2 con fines de aprender sobre este fw. Llegue a la parte en ...
  #1 (permalink)  
Antiguo 23/05/2012, 14:52
Avatar de ONahuelO  
Fecha de Ingreso: junio-2009
Ubicación: Gualeguaychú, Argentina
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 4
Menu desde Base de Datos

Hola, les comento estoy re escribiendo mi web, pero esta vez usando symfony2 con fines de aprender sobre este fw.

Llegue a la parte en que necesito mostrar un menu, contruyendolo apartir de datos obtenidos desde la base de datos.
Pero no encuentro la forma de armarlo desde twing.

Código PHP:
$em $this->getDoctrine()->getEntityManager();

        
$categoria $em->getRepository('DeGualeguaychuAvisosBundle:Categorias')->findAll();
        
        
$categorias = array('CANTIDAD' => count($categoria),'ITEMS'=>$categoria);
        
        
$cantidad count($categorias);
        return 
$this->render('Bundle:Default:index.html.twig', array('CATEGORIAS' => $categorias)); 
Código PHP:

  
<div class="module">
    <
ul>
      
     

      
      
{% for 
ITEMS in CATEGORIAS %}
 <
li class=""><class="list-link">{{ITEMS.nombre}} <class="chev-right"></i></a></li>
{% endfor %}
    
    
       
    </
ul>
  </
div

Código PHP:
Item "id" for "2" does not exist in sBundle:Default:index.html.twig at line 255 
  #2 (permalink)  
Antiguo 23/05/2012, 15:03
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Menu desde Base de Datos

nos indicas cual es la línea?? porque lo que estas realizando en el twig no se ve incorrecto
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 23/05/2012, 15:32
Avatar de ONahuelO  
Fecha de Ingreso: junio-2009
Ubicación: Gualeguaychú, Argentina
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Menu desde Base de Datos

Código PHP:
 <li class=""><class="list-link" href="http://www.dgchu.com.ar?C_=1">{{ITEMS.id}} <class="chev-right"></i></a></li

Osea mi idea es agarrar un array con 2 valores y transformarlo en menu.

Antes lo hacia haci:

Código PHP:
$consulta mysql_query(SELECT idNOMBRE FROM TABLA);

for(
$i=0$i<=(mysql_num_rows($query)); $i++)
{
$menu mysql_fetch_row($consulta);
echo (
$menu['NOMBRE']);

Algo asi, e imprimia todos los nombres de a uno.
Quiero pasar eso a symfony2+ twing
  #4 (permalink)  
Antiguo 23/05/2012, 18:04
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Menu desde Base de Datos

Debería funciona correctamente pero el código del for que posteaste primero no coincide con el li que estas posteando ahora, puede postear el código completo del template de esa vista ?, y te comento que hay un bundle muy bueno para los menús justamente, KnpMenuBundle, te dejo la referencia http://knpbundles.com/KnpLabs/KnpMenuBundle

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 24/05/2012, 21:31
Avatar de ONahuelO  
Fecha de Ingreso: junio-2009
Ubicación: Gualeguaychú, Argentina
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Menu desde Base de Datos

Hola, les cuento magicamente andubo, probe haciendo lo mismo, pero empeze todo de nuevo y funciono correctamente.

El unico problema que tengo es que los datos me salen desordenados, ej. yo antes en la misma consulta le dava la opcion order by pero ahora que la consulta la realiza la misma entity nose como ordenarlos.

Etiquetas: class, symfony2
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 05:00.