调用twig扩展时出现unknow函数错误

时间:2016-11-16 22:21:32

标签: symfony twig

我想创建一个枝条扩展,但Symfony一直告诉我我的功能未知。

这是我的班级:

<?php

namespace AppBundle\Twig\Extension;

use Twig_Extension;
use Twig_SimpleFunction;

class FormExtension extends Twig_Extension
{
    public function getFonctions()
    {
        $twigClass = 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode';
        $options = array(
            'node_class' => $twigClass,
            'is_safe' => ['html']
        );

        return array(
            'form_color' => new Twig_SimpleFunction($this, null, $options)
        );
    }

    public function getName()
    {
        return 'app_form_extension';
    }
}

这是AppBundle \ Resources \ config \ services.yml

中的服务声明
services:
    app.form_extension:
        class: AppBundle\Twig\Extension\FormExtension
        tags:
            - { name: twig.extension }

我可能错过了某些东西,但我无法找到答案。请帮忙!

2 个答案:

答案 0 :(得分:2)

  1. 更正getFonctionsgetFunctions
  2. 试试这种方式:
    ...
        return array(
            new Twig_SimpleFunction('form_color', null, $options)
        );
    ...

答案 1 :(得分:0)

对我来说,同样的错误是我将函数添加到getFilters()而不是getFunctions()