Que tal compañeros, vengo a ustedes porque tengo un problema con symfony 2, verán, tengo poco de comenzar con el fw, y hasta ahora me las apaño bien leyendo por aquí y por allá, pero, ahora tengo un problema que no eh podido encontrar "solución"...
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>