2015-06-21 21 views
6

Sto utilizzando Laravel 5.1. Sto cercando di utilizzare una direttiva Blade (@extend) con la mia direttiva Blade personalizzata.Utilizzo di una direttiva Blade in una direttiva Blade

Blade::directive('base', function() use ($theme) { 
    return "@extends($theme)" 
}); 

Tuttavia, il codice precedente visualizza solo letteralmente il contenuto (@extends($theme))

+0

Hai provato "@extends' di ritorno (" $ a tema.. ")";' – aethergy

+0

non funziona. Emette solo l'intero oggetto – srph

+1

Sfortunatamente i modelli di lama non eseguono seconde analisi sulla vista compilata. Ciò rende molto difficile eseguire ciò che si sta facendo senza richiamare manualmente il compilatore di blade per eseguire una seconda analisi. –

risposta

3

Contrariamente a un commento che ho fatto in precedenza, credo che questo sia possibile (ma non testato) usando il compilatore lama.

Blade::directive('base', function() use ($theme) { 
    return Blade::compileString("@extends({$theme})"); 
}); 
+0

Questo non sembra funzionare per la direttiva @yield. Qualcuno l'ha fatto funzionare? –

+0

Come in te stai tentando di compilare la resa in una direttiva? –

+0

Ho avuto un errore non correlato nel mio codice. Scuse. –

Problemi correlati