定义服务
备:创建服务和方法还可以使用: drush gen service:twig-extension
services:
test_code.twig_extension:
class: Drupal\test_code\TestCodeTwigExtension
tags:
- { name: twig.extension }
定义方法
<?php
namespace Drupal\test_code;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
/**
* Twig extension.
*/
class TestCodeTwigExtension extends AbstractExtension {
/**
* {@inheritdoc}
*/
public function getFunctions() {
return [
new TwigFunction('foo', [$this, 'fooReturn']),
];
// 或者.
return [
new TwigFunction('foo', function() {
return 'xiukun foo'
})
];
}
public function fooReturn() {
return 'xiukun foo';
}
}
测试方法
可以在任意template.twig.html或者views中使用