如何限制Twig中的字符串

时间:2014-08-12 07:41:02

标签: symfony twig

我需要什么:

  * consider product name

   A.a

   B.b

  C.c

  D.d

  E.e

  F.f
转储项目数组

  array(7) 
   {["id"]=> int(42172) ["Company_Website"]=> string(19) "http://www.xkl.com/"   
  ["company_name"]=> string(3) "XKL" ["city_name"]=> string(8) "Kirkland"    
   ["country_name"]=> string(3) "USA" ["comp_img"]=> NULL ["Product_Name"]=> string(24)  
   ""Top End Transport System,Band Combiner Devices,Our Mid Level Transport System,The Introductory Transport System,In-Line Amplification Systems,Intelligent Ethernet Access System,Ethernet Access System,Intelligent Ethernet Access System (Ieas 05),Intelligent Ethernet Access System (Ieas 06),Intelligent Ethernet Access System (Ieas 03),Ethernet Aggregation Device"" 
    }
  • 我想以这样的方式验证字符串,即它不会循环超过5个产品名称。
  • 然后在我的情况下,我们不会考虑f产品。

这是我的tiwig文件:

         <p class="prod">
            {% if item.Product_Name.text[:5]  %} 
                    </p>
                    </div>
                    <div class="row flush nbdr pdt">
                    <div class="12u connect">
                    <p class="mr"><a href="#"><i class="icon icon-envelope"></i> Connect</a> <span>Booth # 50</span></p>
                    </div>
        {% else if if item.Product_Name.text[:6]   %}
        <div class="row flush nbdr pdt">no data exist

                    </div>
            {% endif %}

2 个答案:

答案 0 :(得分:1)

您可以在产品名称数组上使用SLICE,如果item包含产品,那么您可以将其作为

{% for i in item|slice(0, 5) %}
    {{ i.Product_Name }}
{% endfor %}

这将仅循环存储在item array()

中的5条记录

答案 1 :(得分:0)

'for'有loop variables

{% for item in items %}
    {% if loop.index <= 5 %}
        {{ item.Product_Name }}
    {% endif %}
{% endfor %}