2016-07-07 9 views
1

Ich möchte die Asset-Funktion in meinem Projekt verwenden, wo ich nur Twig verwende. tryed ich es zu benutzen, aber php zurückkehren mir dieses:Asset-Funktion ohne Symfony im Zweig

Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'Unknown "asset" function in "./Default/base.html.twig"

Antwort

5

Die Lösung ist auf sensiolabs.org.

Ich habe diese in conf.php:

//config/config.php 
require_once('../vendor/autoload.php'); 

//twig 
Twig_Autoloader::register(); 
$loader = new Twig_Loader_Filesystem('../app/views'); 
$twig = new Twig_Environment($loader); 
$twig->addFunction(new \Twig_SimpleFunction('asset', function ($asset) { 
    // implement whatever logic you need to determine the asset path 

    return sprintf('../assets/%s', ltrim($asset, '/')); 
})); 
1

Das ist, weil Assetic selbst eine eigenständige PHP-Bibliothek ist.
Um asset in Zweig zu verwenden, müssen Sie das Bündel installieren.

Führen Sie den folgenden Composer-Befehl aus, um assetic bundle zu installieren.

composer require symfony/assetic-bundle 

Ohne das Standalone-Paket zu installieren, Zweig wird die Asset finden Funktion nicht in der Lage.

+0

und ich habe es zu konfigurieren? –

+0

Ja, dann müssen Sie das eigenständige Paket konfigurieren. –

+0

wie? Hast du einen Link für ein Tutorial? –