2015-11-30 17 views

risposta

18

Se stai usando Symfony 2,

e si desidera utilizzare alcuni dei native twig extension

Dovete dichiarare come servizio di qualcosa di simile a:

services: 
    twig.extension.date: 
     class: Twig_Extensions_Extension_Date 
     tags: 
      - { name: twig.extension } 
+0

Grazie, funziona :) –

+0

Funziona anche per me. Grazie per la risposta –

1

Hai aggiunto il date extension?

Aggiungere la seguente riga prima di usare questa formattazione:

$twig->addExtension(new Twig_Extensions_Extension_Date()); 
+3

"Aggiungi la riga seguente prima di utilizzare questa formattazione:", Dove; –

1

In un primo momento è necessario:

composer require twig/extensions 

allora avete bisogno di registrarsi Data l'estensione:

$twig->addExtension(new Twig_Extensions_Extension_Date()); 

Dopo di che si potrebbe usare il filtro time_diff. All in docs

+1

"Quindi è necessario registrare l'estensione Data"; Dove ? –

+0

O come servizio, o da qualche parte in Controller, ma la prima è migliore. –

2

vi consiglio di usare il KnpTimeBundle

Quindi è possibile semplicemente confrontare con la data corrente:

{# Returns something like "3 minutes ago" #} 
{{ time_diff(myEntity.getMyTimeField) }} 

Questa confrontare con l'altra data:

{# Returns something like "3 minutes ago" #} 
{{ time_diff(myEntity.getMyTimeField , to) }} 

La traduzione viene attivata per impostazione predefinita, è sufficiente esaminare i file traduzioni o aggiungere di cui hai bisogno.

Spero che questo aiuto

+0

Ho impostato la locale come IT, ma la traduzione non è stata eseguita. Qualche suggerimento? – Aerendir

Problemi correlati