根据用户的选择过滤 PDF
现在,为了执行这一任务,我们需要找到 createPdfAction() 函数中的复选框。
清单 23. 过滤 PDF
复制内容到剪贴板
代码:
...
public function createPdfAction()
{
...
$sql = $select->__toString();
$entries = $db->fetchAll($sql);
$startPos = $topPos - 120;
$filterPost = Zend::registry('fPost');
foreach($entries as $row){
if($filterPost->getRaw($row['id']) == "on"){
$title = $row['feedname'];
$entrydata = $row['entrydata'];
...
$page->drawText($line, 48, $startPos);
$startPos = $startPos - 16;
}
$startPos = $startPos - 16;
}
}
array_push($pdf->pages, $page);
header('Content-type: application/pdf');
echo $pdf->render();
}
...这个过程也是一目了然。首先从注册表中获得在本系列之前部分使用的过滤器,然后使用该过滤器获得用于复选框的值,该值对应于将被计算的当前条目的 ID 值。
如果提交表单时选中了该复选框,则其值为 on,并且程序把条目包含到 PDF 中。如果未选中,则跳过该条目。最后的结果是一个只包含经过明确请求的条目的 PDF 文档。