我有一个数组,exams
其中每个exam
都有谁会接受它。name
student
我正在使用 Laravel 包打印这些考试,并在Blade 模板Snappy PDF
中执行@foreach
循环以显示和其他信息。questions
在每个student
/的末尾exam
,我会跳转页面(因此,students
同一页面中永远不会有两个),如下所示:
@foreach($students as $student)
<p>Student: $student['name']</p>
<p>Questions:</p>
@foreach($student['questions'] as $question)
. . .
@endforeach
<div style="page-break-after: always"></div>
@endforeach
我想footer
在每个page
PDF 上显示一个并显示考试学生的姓名。我不想每次考试显示一个页脚,而是每页显示一个页脚,并带有正确的学生姓名(单个考试可以有多个页面)。
我知道显示这种页脚的唯一方法是使用 SnappyPDF 的setOption
函数,如下所示:
->setOption("footer-right", "Page [page] from [topage]")
有一种方法可以在第二个参数中运行 PHP 代码,例如
->setOption("footer-right", 'Student: {{$some_variable}}')
我可以在哪里更改模板中的$some_variable
值@foreach
,例如使用@php
标签?
就像是:
@foreach($students as $student)
...
@php
$some_variable = $student['name'];
@endphp
@endforeach
通过这样做,我可以在所有 PDF 页脚中显示正确的学生姓名。
但不幸的是,它似乎setOption
从不运行 PHP 代码,它只是在其中设置了一个静态 HTML 模板,不能动态更改。
有没有办法显示这些页脚,使用 HTML 或 SnappyPDF 包?