これを使用してTwigを拡張しています:
namespace Acme\Bundle\MyBundle\Twig;
use Twig_SimpleFunction;
class LinkGenerator extends \Twig_Extension
{
public function getFunctions() {
return array(
new Twig_SimpleFunction('link', function($param) {
return "TEST " . $param;
})
);
}
public function getName() {
return "link";
}
}
それは正常に動作します。{{ link(2) }} を使用すると、'TEST 2' が返されます。
デモの目的で、'url' Twig 関数を使用した場合にレンダリングされるものにクエリ文字列 ?link=1 を単純に追加したいと思います。
したがって、コードは次のようになります。
new Twig_SimpleFunction('link', function($param) {
//render exactly how this would look if using the Twig 'url' function
$url = $this->runFunction('url', $params);
//append the query string
$url .= "?link=1";
return $url;
})