Trong mẫu của tôi, tôi muốn xuất ra múi giờ của máy chủ.Sử dụng chức năng tùy chỉnh theo dạng cành
mẫu của tôi có một cái gì đó giống như
{{ getservertimezone }}
Sau đó, trong cấu hình services.yml cho bó mà tôi có
my.twig.extension:
class: My\WebsiteBundle\Extensions\Twig\SomeTemplateHelper
tags:
- { name: twig.extension }
Và SomeTemplateHelper
của tôi trông giống như
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';
}
}
Nhưng tôi có thể không gọi phương thức này trừ khi nó được sử dụng như một bộ lọc {{ someval | getservertimezone }}
, có cách nào t o chỉ cần thực hiện một cuộc gọi đến số {{ getservertimezone() }}
?
Thay vào đó, Twig_Function_Method không được sử dụng Twig_SimpleFunction. Tôi mở một vấn đề trên tài liệu symfony https://github.com/symfony/symfony-docs/issues/3275 – gagarine
@gagarine cố định –