Sto tentando di esportare una tabella di database come .csv scaricabile dal browser. Il mio codice è Zend Framework basato e io sono quasi lì con le seguenti azioni:export csv in zend framework
public function exportTableAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
$fileName = $this->_getParam('fileName');
$tableName = $this->_getParam('tableName');
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$fileName.'"');
echo $this->getCsv($tableName, $fileName);
}
posso scaricare il mio file .csv che contiene dati validi. Tuttavia, anche se ho disabilitato il layout e il renderer, ottengo ancora l'output dell'intestazione, della sidebar e del piè di pagina della mia pagina alla fine del mio file .csv. C'è un modo per disabilitare qualsiasi output html diverso da quello generato nella mia exportTableAction? O posso inviare le informazioni dell'intestazione e la stringa csv al browser in un modo diverso?
BTW: sto usando il plugin pila azione per aiutarmi a rendere l'intestazione e la sidebar come segue:
...
$actionStack = $front->getPlugin('Zend_Controller_Plugin_ActionStack');
$actionStack->pushStack($userlogAction);
$actionStack->pushStack($rightcolAction);
Cheers, Adrian
Si sta utilizzando il plugin ActionStack per l'intestazione, sidebar, e piè di pagina? –
Sì, davvero. Ho la seguente riga nel mio bootstrap.php: $ frontController-> registerPlugin (new Project_Controller_Plugin_ActionSetup()); Posso disabilitare questo nel mio exportTableAction? – aimfeld
hey - qualsiasi possibilità di pubblicare l'implementazione del tuo getCsv ($ tableName, $ fileName); metodo? – emeraldjava