Lo que busco es rellenar una lista desordenada (ul/li) desde una entidad, PERO, que va a ser visible desde todo el front-end, vamos, en todos los controladores/acciones, por lo tanto me es ilógico tener que llamar a la entidad en cada acción, por lo tanto busco un método en el cual la plantilla sea la que tenga acceso a la entidad, eh estado leyendo sobre servicios y extensiones de twig, pero, no estoy seguro de si es lo que necesito y como implementarlo...
Servicios:
Eh creado un servicio (hasta donde comprendí) que llama a la entidad y obtiene los items necesarios, y lo eh registrado como variable global para twig, pero, no logro que funcione, al llamar a la variable y al método en cuestión el fw o twig deja de funcionar (sin enviar algún mensaje de error), simplemente ya no imprime ninguna linea después de donde hago la llamada (a la variable global y su método), básicamente ses como si colocara un die() o exit(), dejo lo que eh hecho...
Código YAML:
Ver original
#rofana\ProfanaBundle\Resources\config\services.yml services: appseries: class: Profana\ProfanaBundle\Extensions\AppSeries arguments: [@doctrine.orm.entity_manager]
Código YAML:
Ver original
#app\config\config.yml twig: debug: %kernel.debug% strict_variables: %kernel.debug% globals: appseries: @appseries
Código PHP:
Ver original
<?php namespace Profana\ProfanaBundle\Extensions; use Doctrine\ORM\EntityManager; use Profana\ProfanaBundle\Entity\Serie; class AppSeries { protected $em; function __construct(EntityManager $em) { $this->em = $em; } public function getLastfive() { $entity = $em->getRepository('ProfanaBundle:serie'); $series = $entity->createQuery('SELECT p FROM ProfanaBundle:Serie p ORDER BY p.id DESC') ->setMaxResults(5); return $series->getResult(); } }
Código TWIG:
Ver original
<ul> <li class="web-base-submenu-header">Ultimas series agregadas</li> {% for lastseries in appseries.getLastfive() %} <li><a href="$">{{ lastseries.serie }}</a></li> {% else %} <li>No hay series aún!</li> {% endfor %} </ul>