2016-08-17 7 views
1

Ich versuche, einen alternativen/Standard-Vorlagenladepfad zu definieren, falls der erste nicht gefunden wird.Wie aktualisiert man den Vorlagenladepfad in Moustache?

Derzeit initialisieren ich Schnurrbart auf diese Weise:

$m = new Mustache_Engine(array(
'loader' => new Mustache_Loader_FilesystemLoader($templates_path,array('extension'=>'.php')) 
)); 

Und dann mache ich die Vorlage:

$m->render($my_template_path, $fields); 

Die Render-Methode mehrmals unter dem gleichen Schnurrbart Beispiel genannt wird. Das funktioniert einwandfrei, aber ich bin mir nicht sicher, wie ich den Loader-Pfad aktualisieren kann, ohne eine neue Moustache-Instanz zu erstellen.

Ich habe die docs gelesen, aber habe es nicht zu arbeiten. Ich habe versucht, $ loader-> load() zu verwenden, anstatt zu rendern. Dadurch kann ich den Pfad ändern, aber die Variablen werden nicht dargestellt.

Antwort

0

Also ... Ich hatte die CascadingLoader-Option komplett vermisst, die es mir ermöglicht, mehrere Loader zu setzen. Ich habe den Fallback-Pfad zum Laden, indem ich meinen Code aktualisiert habe:

$m = new Mustache_Engine(array(
    'loader'=> new Mustache_Loader_CascadingLoader(array(
       new Mustache_Loader_FilesystemLoader($templates_path,array('extension'=>'.php')), 
       new Mustache_Loader_FilesystemLoader($alt_path,array('extension'=>'.php')) 
    )) 
)); 
Verwandte Themen