2016-08-10 7 views
-1

Ich benutze Zweig Vorlage für mein Projekt. jetzt i benutzerdefinierten Block will zum BeispielWie erstelle ich benutzerdefinierte Tag Block in Zweig?

{% addscript %} 
<script> 
//here is my content script 
</script> 
{% endaddscript %} 

auch {% addScript 'Fußzeile' %} {% endaddscript%} oder {% addScript 'header' %} {% endaddscript%} gut

erstellen und der Skript Inhalt wird in meine pHP-Funktion addScript

Class Theme{ 
     private $css = array(); 
     public function addScript($script){ 
     $this->css[] = $script; 
     } 
} 

nach einem Tag sucht und liest Dokument im Zweig genannt analysieren wird ich dieses Thema gefunden, funktioniert aber nicht! How to create a twig custom tag that executes a callback?

i neueste Version von Zweig installieren bin mit von Komponist

+0

Unklar, was Sie fragt ... Was den neuen Tag tut tun müssen? – DarkBee

+0

Liest du meine Frage? –

+0

Ja und wir verstehen es nicht. Warum willst du Argument 'Header' in Ihrem Block 'addscript' Header '' – goto

Antwort

1

Von dem, was ich aus den Kommentaren sagen kann, ist, dass Sie nicht brauchen, eine benutzerdefinierte Tag zu tun, was Sie wollen. Sie können einfach blocks dafür verwenden, tags werden verwendet, um die kompilierte Version einer Vorlage zu ändern, nicht den Inhalt davon.


base.twig.html

<!DOCTYPE html> 
<html> 
    <head> 
     <title>{{ title | default('Hello World') }}</title> 
     <link rel="stylesheet" type="text/css" href="theme.css"> 
     {% block css %} 
     {% endblock %} 
    </head> 
    <body> 
    {% block body %} 
     <nav> 
     {% block navigation %} 
      <a href="#">Link</a> 
      <a href="#">Link</a> 
      <a href="#">Link</a> 
     {% endblock navigation %} 
     </nav> 
     <section id="container"> 
      <section id="content"> 
      {% block content %} 
      {% endblock content %} 
      </section> 
     </section> 
    </section> 
    {% endblock body %} 
    {% block scripts %} 
    {% endblock %} 
    {% block javascript %} 
    {% endblock %} 
    </body> 
</html> 

child.twig.html

{% extends "base.twig.html" %} 
{% block css %} 
    <link rel="stylesheet" type="text/css" href="child.css"> 
{% endblock %} 

{% block content %} 
    <h1>Hello Child</h1> 
{% endblock %} 


{% block javascript %} 
<script> 
    $(function() { 
     console.log('Hello Child'); 
    }); 
</script> 
{% endblock %} 
{% block scripts %} 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
{% endblock %} 
+0

Ja! das ist richtig @DarkBee, aber ich brauche Inhalt in Block css in child.twig.html und parse es in PHP-Code! –

+0

Elaborate bitte, Sie erhalten die verschiedenen Stylesheets aus einer Klasse/Funktion? – DarkBee

Verwandte Themen