2016-08-09 2 views
7

У меня есть настраиваемая директива Blade, из которой я пытаюсь включить частичный синтаксис Blade @include(). Проблема заключается в том, что у меня есть пользовательские представления имен:Специальная директива по лезвию ларавеля с частичным

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

Это выводит ошибку,

Class 'viewsNameSpace' not found

потому, что его интерпретация viewsNameSpace:: как класс.

Это выводит только строки без разбора его:

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

И это не бросать какие-либо ошибки, но его не загружая парциальное:

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

Пожалуйста, обратите внимание, что парциальное работает, когда я 'используя этот шаблон в шаблоне:

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

но я не могу заставить его работать fr о директиве.

Любая помощь и предложения будут оценены! Спасибо!

ответ

3

Это, как я сделал это работает:

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

Где $formPartial является 'viewsNameSpace::partials._form'.

0

Попробуйте это:

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

Смежные вопросы