2011-08-25 1 views
0

Dans ma méthode d'initialisation du contrôleur j'ai cettecomment puis-je mettre en place un contextSwitch pour générer un fichier csv

public function init() 
{ 
    //initialise the context switch action helper 
    $this->_helper->getHelper('contextSwitch') 
        ->addContext('csv', array('suffix' => 'csv', 
              'headers' => array(
               'Context-Type' => 'application/csv', 
               'Context-Disposition' => 'inline; filename="fooo.csv"', 
               'Pragma' => 'no-cache', 
               'Expires' => '0', 
              ))) 
        ->addActionContext('stockreport', 'csv') 
        ->initContext(); 
} 

Dans mon stockreportAction j'ai désactivé la mise en page et afficher rendu comme suit.

public function stockreportAction() 
{ 
    $this->_helper->layout->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(); 

    echo 'foobar'; 
} 

je reçois une page blanche quand je l'appelle ce dossier, je voudrais générer ce donc dans l'exemple « toto » apparaît sous la forme d'un fichier csv téléchargeable. Quelqu'un peut-il conseiller

Répondre

-3

Zend_Magic n'est pas encore implémenté.

Il est de votre responsabilité de générer csv ou tout autre format de sortie. En bref: le sélecteur de contexte modifie le suffixe du script de vue, donc le script de vue pour votre contexte est stockreport.csv.phtml (si le contexte csv est actif, stockreport.phtml dans le cas contraire).
Mais dans votre exemple, le sélecteur de contexte est mal utilisé. Vous ne changez pas de contexte ici.
Vous n'utilisez pas de scripts de vue, vous ne vérifiez pas si le contexte est actif dans votre action. Pourquoi votre sortie est vide est une question différente - probablement à un moment donné vous effacer le contenu dans l'objet de réponse ou là quelque part est une erreur fatale & sortie d'erreur désactivée.

Mise à jour:
têtes sont également Content-Type et Content-Disposition

+4

est-Zend_Smug encore disponibles? – user466764

Questions connexes