Tengo un pequeño inconveniente y no he logrado añadir una extensión Twig a mi proyecto Symfony2.8, trato de recolectar información pero no he conseguido nada.
Muchos dicen que crean un directorio y ahí crean una clase php que es la extension y en el service.yml lo llaman. pero ya hago eso y me da un error. no se por que.
Según veo no me reconoce el directorio o carpeta que cree "Twig" y dentro de ahí tengo mi clase php., como puedo hacer que symfony me reconozca la carpeta creada.
clase php que esta en mi proyecto Sistema/sifacBundle/Twig
Código:
yo creo que ahi es el problema por que no me reconoce la carpeta o directorio "TWIG"<?php namespace Sistema\sifacBundle\Twig; use Symfony\Bridge\Doctrine\RegistryInterface; class DatosExtensions extends \Twig_Extension { // Cargamos doctrine dentro del servicio/extensión protected $doctrine; public function __construct(RegistryInterface $doctrine) { $this->doctrine = $doctrine; } /* Le ponemos el nombre al filtro que finalmente usaremos en la vista y le indicamos que metodo va a cargar.*/ public function getFilters() { return array( new \Twig_SimpleFilter('get_datos', array($this, 'getDatosFilter')), ); } // Método con la funcionalidad de la extensión public function getDatosFilter($user_id) { $user_repo = $this->doctrine->getRepository("SistemasifacBundle:Listas"); $user= $user_repo->findOneBy(array("id" => $user_id)); if(!empty($user) && is_object($user)){ $result = $user; }else{ $result = false; } return $result; } public function getName() { return 'get_datos_extension'; } }
MI services.yml
Código:
get_datos.twig_extension: class: SistemasifacBundle\Twig\DatosExtensions public: false arguments: doctrine: "@doctrine" tags: - { name: twig.extension }