में एक कस्टम फ़ंक्शन का उपयोग करके मेरे टेम्पलेट में मैं सर्वर टाइमज़ोन आउटपुट करना चाहता हूं।twig
मेरे टेम्पलेट कि बंडल के लिए services.yml config में तरह
{{ getservertimezone }}
कुछ तो है मैं
my.twig.extension:
class: My\WebsiteBundle\Extensions\Twig\SomeTemplateHelper
tags:
- { name: twig.extension }
है और मेरे SomeTemplateHelper
तरह
namespace My\WebsiteBundle\Extensions\Twig;
class SomeTemplateHelper extends \Twig_Extension
{
public function getFilters()
{
return array(
'getservertimezone' => new \Twig_Filter_Method($this, 'getServerTimeZone'),
);
}
public function getServerTimeZone()
{
if (date_default_timezone_get()) {
return date_default_timezone_get();
} else if (ini_get('date.timezone')) {
return ini_get('date.timezone');
} else {
return false;
}
}
public function getName()
{
return 'some_helper';
}
}
लेकिन मैं कर सकते हैं लग रहा है इस विधि को तब तक कॉल न करें जब तक यह फ़िल्टर {{ someval | getservertimezone }}
फ़िल्टर की तरह उपयोग न हो, क्या कोई तरीका नहीं है ओ सिर्फ एक स्ट्रैघ {{ getservertimezone() }}
कॉल करें?
Twig_Function_Method को इसके बजाय Twig_SimpleFunction का उपयोग बहिष्कृत किया गया है। मैं symfony डॉक्टर पर एक मुद्दा खोलता हूं https://github.com/symfony/symfony-docs/issues/3275 – gagarine
@gagarine निश्चित –