我试图在twig中使用我的自定义php函数。 当我在page.html.twig中输入{{current_url}}时,没有任何反应。 我也试过{{kint(current_url)}},输出NULL 这是我的代码
<?php
namespace Drupal\nextprev\plugin\block\customtwigoutput;
use Drupal\Core\Template\TwigExtension;
use Drupal\nextprev\nextprevmodule\path;
use \Symfony\Component\HttpFoundation\Request;
class AppExtension extends \Twig_Extension {
public function url() {
$current_path = \Drupal::service('path.current')->getPath();
return $current_path;
}
public function getFilters() {
return array(
'current_url' => new \Twig_Function_Function(array('Drupal\nextprev\plugin\block\customtwigoutput\AppExtension', 'url')),
);
}
}
我做错了什么?
答案 0 :(得分:1)
你有没有添加services.yml?这是一个样本;
main.cpp
答案 1 :(得分:0)
也许您应该尝试使用树枝功能:
在您的扩展程序中:
public function getFunctions()
{
return array(
new \Twig_SimpleFunction('current_url', array($this, 'url')),
);
}
在您的视图中
{{ current_url() }}