2016-08-09 17 views
7

Mam niestandardową dyrektywę Blade, z której próbuję dołączyć część o składni Blade @include(). Problem polega na tym, że mam zwyczaj nazw widoków:Niestandardowa dyrektywa Laravel z częściową

\Blade::directive('name', function() { 
    $viewsNamespace = 'viewsNameSpace::'; 
    $formPartial = $viewsNamespace . 'partials._form'; 
    return "{{ @include({$formPartial}) }}"; 
}); 

To wyprowadza błąd

Class 'viewsNameSpace' not found

ponieważ jego interpretacji viewsNameSpace:: jako klasa.

ten wyprowadza tylko ciąg bez analizowania go:

return "@include('{$formPartial}')"; 

I to nie rzuca żadnych błędów, ale jej nie ładuje częściowa:

return "{{ @include('{$formPartial}') }}"; 

Należy pamiętać, że częściowe pracuje kiedy "Używam w szablonie podobnym do tego:

@include('viewsNameSpace::partials._form') 

ale nie mogę sprawić, aby działał od dyrektywa.

Każda pomoc i sugestie zostaną docenione! Dziękuję Ci!

Odpowiedz

3

ten sposób zrobiłem to działa:

return "<?php echo view('$formPartial')->render(); ?>";

Gdzie $formPartial jest 'viewsNameSpace::partials._form'.

0

Spróbuj tego:

return "<?php echo view('viewsNameSpace::partials._form')->render(); ?>";

Powiązane problemy