У меня есть приложение Laravel / Angular, и я хочу изменить содержимое PDF, созданного на одной из страниц, на основе содержимого переменных, которые будут отображаться в этом PDF.
Файл PDF находится в файле reminder.blade.php
и в настоящее время содержит:
<html>
<head>
...
</head>
<body style="-webkit-font-smoothing: antialiased; font-family: 'Roboto'; font-weight: normal; margin: 0; padding: 0;">
...
</body>
</html>
Я хочу изменить содержимое, отображаемое в <body></body>
, в зависимости от количества элементов, отображаемых в PDF-файле, и «статуса» этих элементов, поэтому для этого я заключил HTML-код в PHP if
заявление:
<html>
<head>
...
</head>
@if(( count( {{ $transaction['transactionItem'] }} ) == 1) && {{ $transaction['transactionItem']['currentStatusId'] }} == '1010')
<body style="-webkit-font-smoothing: antialiased; font-family: 'Roboto'; font-weight: normal; margin: 0; padding: 0;">
... Only first page of PDF here
</body>
@else
<body style="-webkit-font-smoothing: antaliased; font-family: 'Roboto'; font-weight: normal; margin: 0; padding: 0;">
... Full PDF content here
</body>
@endif
</html>
Однако, когда я теперь нажимаю кнопку для создания и загрузки PDF-файла, на вкладке «Сеть» консоли появляется сообщение об ошибке:
Ошибка разбора: синтаксическая ошибка, неожиданное '<' (Просмотр: /home/vagrant/code/resources/views/pdfs/prov/reminder.blade.php)</p>
в строке 419cdd3906d761bc1bb55581502a15d04c1fe7a7.php
в CompilerEngine-> handleViewException (object (FatalThrowableError), 1)
в строке PhpEngine.php 46
, который, кажется, либо жалуется на добавленное мной утверждение @if
, либо, согласно ответу unexpected '<'
здесь , связано с тем, что я использую одинарные кавычки внутри двойных кавычек в строке <body ...>
... хотя я правильно закрываю оба - по крайней мере, насколько я могу судить ...
Кто-нибудь знает, что я здесь не так делаю? Как я могу сделать содержание сгенерированного PDF-файла условным, как я пытаюсь?