2015-11-30 5 views
6

में 'time_diff' फिल्टर कॉल करने के लिए मैं टहनी में 'time_diff' समारोह कैसे फोन कर सकते हैंकैसे टहनी

कोड

{{ post.created_at|time_diff }} 

आउटपुट

The filter "time_diff" does not exist 
+0

क्या आपने इस एक्सटेंशन को पंजीकृत किया था? $ twig-> addExtension (नया Twig_Extensions_Extension_Date()); – pbenard

उत्तर

18

आप Symfony 2,

का उपयोग कर और native twig extension

आप की तरह सेवा कुछ के रूप में घोषित करने के लिए है में से कुछ का उपयोग करना चाहते हैं, तो:

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

धन्यवाद, यह काम करता है :) –

+0

मेरे लिए भी काम करता है। उत्तर –

1

क्या आपने date extension जोड़ा था?

इस स्वरूपण उपयोग करने से पहले निम्न पंक्ति जोड़ें: सबसे पहले

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

"इस स्वरूपण का उपयोग करने से पहले निम्न पंक्ति जोड़ें:", कहां; –

1

आप की जरूरत:

composer require twig/extensions 

तो फिर तुम तिथि विस्तार रजिस्टर करने की आवश्यकता:

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

उसके बाद आप time_diff फ़िल्टर का उपयोग कर सकते हैं। All in docs

+1

"फिर आपको दिनांक एक्सटेंशन पंजीकृत करने की आवश्यकता है"; कहा पे ? –

+0

या तो एक सेवा के रूप में, या कहीं नियंत्रकों में, लेकिन पहला तरीका बेहतर है। –

2

मेरा सुझाव है आप का उपयोग करने के KnpTimeBundle

तो आप बस वर्तमान दिनांक से तुलना कर सकते हैं:

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

यह एक और तारीख के साथ तुलना करें:

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

अनुवाद डिफ़ॉल्ट रूप से सक्षम है, बस अनुवाद फ़ाइलों की समीक्षा करने या के रूप में जोड़ें।

आशा है कि यह मदद

+0

के लिए धन्यवाद मैंने लोकेल को आईटी के रूप में सेट किया है, लेकिन अनुवाद नहीं किया गया है। कोई उपाय? – Aerendir

संबंधित मुद्दे