2016-08-09 8 views
7

私はカスタムブレードディレクティブを持っています。このディレクティブから、ブレード構文@include()を部分的に追加しようとしています。そのクラスとしてviewsNameSpace::を解釈するので、これはエラーを出力しLaravelブレードのカスタムディレクティブwith includes partial

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

Class 'viewsNameSpace' not found

:問題は、私はカスタムビューの名前空間を持っているということです。

は、これはそれを解析することなく、単なる文字列を出力します

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

をそして、これはすべてのエラーを投げていないが、その部分的なロードではない:

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

が部分的に機能していることに注意してください時にI次のようなテンプレートでを使用しています:

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

指令。

ご協力いただきありがとうございます。ありがとうございました!

答えて

3

これは、私はそれがうまく作られた方法です:$formPartial'viewsNameSpace::partials._form'ある

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

0

このお試しください:

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