Laravel: шаблон отделки салона - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть файл шаблона с именем include/data.blade.php, который заканчивается переводом строки в конец файла.(Это конфигурация IDE по умолчанию, которую я не хотел бы изменять)

Упомянутый шаблон включен в другой шаблон следующим образом:

# parent blade template
<script>
    let tpl = '@include("include.data")';
</script>

Поскольку data.blade.php заканчивается пустой строкой, послеВизуализация шаблона Я получаю ошибку JavaScript в браузере:

Uncaught SyntaxError: Invalid or unexpected token

Вопрос: могу ли я каким-либо образом обрезать включенный шаблон?

1 Ответ

0 голосов
/ 21 сентября 2018

Вот решение для Laravel 5.6 +.

  1. Зарегистрируйте новую директиву trim в AppServiceProvider::boot():

    //Register starting tag
    Blade::directive('trim', function() {
        return '<?php ob_start() ?>';
    });
    
    //Register ending tag
    Blade::directive('endtrim', function() {
        return "<?php echo trim(ob_get_clean()); ?>";
    });
    
  2. Используйте зарегистрированную директиву следующим образом:

    # parent blade template
    <script>
        let tpl = '@trim @include("include.data") @endtrim';
    </script>
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...