拆分功能在Twig中不起作用

时间:2014-09-04 08:05:41

标签: symfony twig

我需要的是什么:

  • 拆分字符串。
  • 我需要字符串中的第一个字符。
  • 如果字符串某个字符限制我想只显示名字而不是(...)。

     ex: ankit mishra pandit aggarwaal.
    
     - so i just want  only ankit.
    
     - if its is ankit mishra its ok.
    
     * otherwise show Full Name.
    

这是树枝代码:

           {%if item.metadata.name |length < 20 %}
            {% set foo = item.metadata.name|split(',') %}

            {{ foo[0] }}

            {%else%}{{WordLimit(item.metadata.name,20,10)}} ..
               {%endif%}

输出即时获取:

  Deepak Singh.

1 个答案:

答案 0 :(得分:1)

我认为最好的解决方案是编写一个枝条扩展名。 见http://symfony.com/doc/current/cookbook/templating/twig_extension.html

class AcmeExtension extends \Twig_Extension
{
    public function getFilters()
    {
        return array(
            new \Twig_SimpleFilter('first_word', array($this, 'first_word')),
        );
    }

    public function first_word($word)
    {
        $words = explode(' ', $word);
        $first_word = $words[0];
        ...
        return $first_word;
    }

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

如果你的枝条文件:

{{item.metadata.name | first_word }}