2016-07-04 10 views
1

Ich möchte substr_count in Twig verwenden, existiert schon etwas? Ich möchte so etwas machen;Substring Count im Zweig

Ich kann eine Erweiterung tun, aber es scheint, dass dies etwas eingebaut sein könnte, dass ich schon verpasst habe.

Antwort

0

ging ich für eine Verlängerung

namespace AppBundle\Twig; 

class SubStrCountExtension extends \Twig_Extension 
{ 
    public function getFunctions() 
    { 
     return array(
      new \Twig_SimpleFunction('substr_count', array($this, 'substr_count')), 
     ); 
    } 

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

    public function substr_count($str, $char) 
    { 
     return substr_count($str, $char); 
    } 
} 

Und in services.yml

app.twig_extension.substr_count_extension: 
    class: AppBundle\Twig\SubStrCountExtension 
    tags: 
     - { name: twig.extension } 
+1

nur ein Vorschlag, aber ich würde Ihre Klasse etwas allgemeinere umbenennen, so dass Sie mehrere Funktionen/Filter in der benutzerdefinierten Klasse hinzufügen können, es sei denn, Sie alle Ihre benutzerdefinierten Funktionen/Filter in ihre eigenen individuellen planen Klassen. – Rooneyl

+0

Guten Ruf! Ich mache das jetzt. Vielen Dank. –

1

Dieses existiert nicht in der Liste von Zweig functions oder filters.

Sie müssen Ihre eigenen benutzerdefinierten Funktion/Filter schreiben oder versuchen Sie eine package (Hinweis; Ich habe dieses Paket nie verwendet, so kann ich nicht kommentieren, aber war auf der ersten Seite der Google-Ergebnisse).

0

Ich benutze Lösung in Symfony 3.2.8 aber in der Beschreibung sollte nicht sagen, das Codeblock im Inneren ist: Dienste Wenn Sie nicht zeigen diesen Fehler: Es gibt keine Erweiterung in der Lage, die Konfiguration für zu laden.

sollten Dieser Code ist innerhalb Dienste das ist richtig:

services: 

app.twig_extension.substr_count_extension: 
    class: AppBundle\Twig\SubStrCountExtension 
    tags: 
     - { name: twig.extension } 

Schließlich ist die korrekte Verwendung in Zweig ist:

tu placa es: {{substr_count(datos.picoyplaca,4)}} 

Grüße

1

Wie wäre das?

{%set count = text|split('is')|length-1 %} 
+0

Dies liefert keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); Stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (https://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/16688233) –

+0

@ ADreNaLiNe-DJ Warum? – Zizouz212

+0

warum? Thema Starter fragte nach der Art und Weise zu zählen Teilstrings in String mit Zweig. Diese 1 Codezeile erledigt dies. Was ist daran falsch? –