Anzeige der Revisionen in einem PDF Export
getestet mit Version 24.02
Anforderung
Um die Revisionen und ggfs. den Changelog in einem PDF Export ganz zum Schluss anzeigen lassen zu können sind einige Anpassungen nötig.
Zuerst habe ich dafür einen zusätzlichen Link in dsadas Export-Menü eingebaut um einmal eine Version ohne Revisionen und eine mit Revisionen exportieren zu können.
betroffene Dateien
Dateien müssen sich in der entsprechenden Struktur unterhalb des Themes befinden.
Ordner = kursiv
Dateien = fett
Inhalte der Dateien
revisions-index-row-compact.blade.php
Ich habe in dem Ordner eine weitere Datei angelegt und mit folgendem Inhalt gefüllt:
<tr>
<td>{{ $revision->created_at->isoFormat('D MMMM Y') }}</td>
<td>{{ $revision->revision_number == 0 ? '' : $revision->revision_number }}</td>
<td>@if($revision->createdBy) {{ $revision->createdBy->name }} @else {{ trans('common.deleted_user') }} @endif</td>
<td>{{ $revision->summary }}</td>
</tr>
page.blade.php
In dieser Datei habe ich an das Ende der Seite folgenden Code eingefügt und die alte Meta Ansicht deaktiviert. Der geänderte Code beginnt in Zeile 7 (in diesem Codeschnipsel).
[...]
<div style="clear:left;"></div>
{!! $page->renderedHTML ?? $page->html !!}
</div>
@if(request()->query('history'))
<hr>
<h2>Dokumentenhistorie</h2>
<table>
<tr>
<th>Datum</th>
<th>Version</th>
<th>Autor</th>
<th>Anmerkungen</th>
</tr>
@if(count($page->revisions) > 0)
@foreach($page->revisions as $index => $revision)
@include('exports.parts.revisions-index-row-compact', ['revision' => $revision, 'current' => $page->revision_count === $revision->revision_number])
@endforeach
@else
<p>{{ trans('entities.pages_revisions_none') }}</p>
@endif
</table>
@endif
<!-- <hr>
<div class="text-muted text-small">
@include('exports.parts.meta', ['entity' => $page])
</div> -->
@endsection
Der Codeabschnitt kann auch an jeder anderen Stelle hinterlegt werden, für mich hat es aber am Ende des Dokuments den meisten Sinn gemacht.
Ich habe bei den Anpassungen auf Übersetzungen verzichtet, das würde sich aber problemlos ändern lassen.