I've built a backend list in OctoberCMS and I have a button to create a PDF with alle the rows of this list. Each row produces one PDF page. But now I want to print only the selected rows? Does anyone know how to do this?
This is my code at the moment:
public function export()
{
$lists = $this->makeLists();
$widget = reset($lists);
/* Add headers */
$headers = [];
$columns = $widget->getVisibleColumns();
foreach ($columns as $column) {
$headers[] = \Lang::get($column->label);
}
/* Add records */
$getter = $this->getConfig('export[useList][raw]', false)
? 'getColumnValueRaw'
: 'getColumnValue';
$model = $widget->prepareModel();
$results = $model->get();
$records = [];
foreach ($results as $result) {
$record = [];
foreach ($columns as $column) {
$value = $widget->$getter($result, $column);
if (is_array($value)) {
$value = implode('|', $value);
}
$record[] = $value;
}
$records[] = $record;
}
return \Renatio\DynamicPDF\Classes\PDF::loadTemplate('export-data-pdf',
['headers' => $headers, 'records' => $records])->stream('export.pdf');
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire