Ir al contenido principal

Symfony2, instalando la extensión Text de Twig en Symfony 2.7

Sigo estudiando y haciendo pruebas con Symfony2 (2.7), ahora he querido usar el filtro truncate de la extensión Text del motor de plantillas Twig.

En todas las webs que he consultado dice que es muy simple, que simplemente añadiendo al fichero app/config/config.yml (o app/config/services.yml) lo siguiente, es más que suficiente:
services:
twig.extension.text:
class: Twig_Extensions_Extension_Text
tags:
- { name: twig.extension }

En mi caso no ha funcionado, siempre me salía este error cargando cualquier página de mi proyecto:
[SymfonyComponentDebugExceptionClassNotFoundException] Attempted to load class "Twig_Extensions_Extension_Text" from the global namespace. Did you forget a "use" statement?

Googleando veo que es necesario instalar dichas extensiones antes con la ayuda del composer:
composer require twig/extensions

Pero al ejecutarse me informa que Twig va por la versión 1.3, y que no puede instalar la extensión en el Twig de mi Symfony 2.7, que es la versión 1.18.2, que como mínimo necesita la 1.20.

Total, finalmente me decido por desinstalar el Twig, instalarlo de nuevo, y luego instalar las extensiones.
composer remove twig/twig

composer require twig/twig

composer require twig/extensions

Con esto lo que he hecho es quitar la versión Twig (1.18.2) que traía mi Symfony2 (2.7), instalar el Twig (me ha instalado el 1.21), y luego instalar las extensiones.

Por lo que ahora lo único que hay que hacer es activar dichas extensiones en el servicio Twig (fichero app/config/config.yml o app/config/services.yml):
services:
twig.extension.text:
class: Twig_Extensions_Extension_Text
tags:
- { name: twig.extension }

Y ya podemos usar la extensión Text en nuestro proyecto, por ejemplo, podemos usar los filtros truncate y wordwrap.

 

 

 

 

 

 

 

Comentarios

  1. en mi caso no utilizo composer, como puedo hacerlo sin el mismo

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Cosmic Supremacy : Juego 4X online, gratuito y multijugador basado en conquistas espaciales

  Llevaba bastante tiempo buscando un juego de estrategia en el espacio, multijugador , y que fuera por turnos . Un requisito que siempre tuve es que fuera fácil aprenderlo, y tuviera suficiente ayuda o tutoriales. Creo que lo he encontrado, se llama Cosmic Supremacy , y es gratis . Os dejo aquí información traducida desde su web oficial por si os animáis :) ¿Qué es Cosmic Supremacy? Cosmic Supremacy es un juego gratuito de estrategia espacial multijugador masivo basado en ticks/turnos con una interfaz 3D 'Galaxy View'. Compartes una galaxia con cientos de jugadores, cada uno con su propia civilización alienígena. Algunos de ellos pueden llegar a ser tus enemigos, otros podrían ser tus aliados. Necesitas explorar la galaxia que te rodea, descubrir nuevos sistemas solares, colonizar nuevos planetas y expandir tu imperio. Puedes diseñar todas las naves de tu flota e investigar nuevas tecnologías avanzadas para poder construir naves más rápidas y fuertes que te darán la ventaja ...

Hacer una pausa en un fichero por lotes batch (bat o cmd)

En consola de Windows (antiguamente Ms-Dos) desde siempre se ha podido hacer una pausa, esperando confirmación del usuario. El comando en cuestión es: pause Si escribimos pause en nuestra consola veremos que la consola se queda pausada hasta que pulsamos una tecla. Esto es útil en ficheros batch (ya sean .bat o .cmd) para hacer pausas controladas entre distintos comandos, a la espera que el usuario pulse alguna tecla para continua. Pero, ¿qué ocurre si queremos una pausa de cierto número de segundos y luego continúe el proceso automáticamente ? No hay ningún comando que lo haga, pero haciendo el siguiente "truco" (hace un ping a una URL especificando el número de segundos como timeout) lo podremos conseguir ping -n 10 localhost > null Simplemente cambiar el 10 por el número de segundos que queráis, y ya tendréis en consola (o msdos) una pausa de N segundos, y luego el proceso continuará automáticamente.  

Cómo colorear y añadir información de GIT a la consola (shell) de linux al conectarse remótamente por SSH

Si os pasa que tenéis vuestro terminal de Linux coloreado y veis información de GIT en el prompt , y al conectarse en remoto vía SSH al mismo servidor ya no lo veis, lo que necesitáis hacer es crear, o editar, el siguiente fichero en vuestro directorio home ~/.bash_profile , y añadir la siguiente información: [sourcecode] # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would te...