請注意:
- 這不是好辦法做到這一點,因爲它覆蓋Magento核心f iles,你必須覆蓋你的模型中的這些文件。
- 這不是一個完整的解決方案但小費讓你瞭解和進一步去自己。 (這將只打印頭,無數據)
我會引導你(默認情況下有CSV和Excel)將PDF導出功能爲客戶
編輯應用程序/代碼/核心/法師/ Adminhtml /Block/Widget/Grid.php,添加以下功能
public function getPdfFile(){
$this->_isExport = true;
$this->_prepareGrid();
$this->getCollection()->getSelect()->limit();
$this->getCollection()->setPageSize(0);
$this->getCollection()->load();
$this->_afterLoadCollection();
$pdf = new Zend_Pdf();
$page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_TIMES);
$page->setFont($font, 12);
$width = $page->getWidth();
$i=0;
foreach ($this->_columns as $column) {
if (!$column->getIsSystem()) {
$i+=10;
$header = $column->getExportHeader();
$page->drawText($header, $i, $page->getHeight()-20);
$width = $font->widthForGlyph($font->glyphNumberForCharacter($header));
$i+=($width/$font->getUnitsPerEm()*12)*strlen($header)+10;
}
}
$pdf->pages[] = $page;
return $pdf->render();
}
編輯應用程序/代碼/核心/法師/ Adminhtml /控制器/ CustomerController.php,添加以下功能
public function exportPdfAction(){
$fileName = 'customers.pdf';
$content = $this->getLayout()->createBlock('adminhtml/customer_grid')->getPdfFile();
$this->_prepareDownloadResponse($fileName, $content);
}
編輯應用程序/代碼/核心/法師/ Adminhtml /座/客戶/ Grid.php,找到
$this->addExportType('*/*/exportCsv', Mage::helper('customer')->__('CSV'));
$this->addExportType('*/*/exportXml', Mage::helper('customer')->__('Excel XML'));
添加PDF導出
$this->addExportType('*/*/exportCsv', Mage::helper('customer')->__('CSV'));
$this->addExportType('*/*/exportXml', Mage::helper('customer')->__('Excel XML'));
$this->addExportType('*/*/exportPdf', Mage::helper('customer')->__('PDF'));
現在刷新管理,您可以將客戶導出爲PDF。
如果你找到一個回答你的問題接受了:) http://stackoverflow.com/faq#howtoask – skafandri