@Eno : Yes, I tried commenting only some of thse lines instead of all three but 
it still goes in error. 
@Gareth :  Useful link, I was not aware of this function, thanks ! But here, I 
cant' use that because I want to send the data to the browser. 

After some additional inquiries, I eventually discovered on a blog some 
workaround by adding one line at the end of the execute method : 

return sfView::NONE;

That's cool, but I still don't understand why it fails without this line. After 
all, when I am sending xml data, I am actually using an action without this 
special line of code, I am using templates and my browser does receive a 
correct XML input, not an HTML one. Why does it work with xml and not with csv 
? Is it related to the way the route is declared, or something else ? 


-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De 
la part de Gareth McCumskey
Envoyé : jeudi 29 avril 2010 08:53
À : [email protected]
Objet : Re: [symfony-users] Exporting data to CSV (+Doctrine)

Why even use a template?

http://www.php.net/manual/en/function.fputcsv.php

On Wed, Apr 28, 2010 at 4:15 PM, NOOVEO - Christophe Brun <[email protected]> 
wrote:
> Ladies & gentlemen,
>
> My client wants a .csv export with a simple list of entries, namely : 
> the list of the web users who registered to his newsletter.
> I tried to add a ListCsvExport button in the backend and the 
> appropriate method in the action, with no success.
>
> A simple template for tests :
> listCsvExportSuccess.php :
> <?php
> echo implode("\t", $headers), "\n";
> foreach($lines as $l) {
>     echo implode("\t", $l, "\n");
> }
> ?>
> and the method :
> public function executeListCsvReport(sfWebRequest $request) {
>      $response = $this->getResponse();
>      $response->clearHttpHeaders();
>      $response->setContentType('application/vnd.ms-excel');
>      $response->setHttpHeader('Content-disposition', "attachment; 
> filename=newsletter_".date("YmdHis").".csv");
>      $this->layout(false);
>      $this->setTemplate('listCsvReportSuccess');
>
>      $this->headers = array(
>           "Nom", "Email", "Actif", "Utilisateur enregistré ?"
>      );
>
>      $this->lines = array();
>      $this->lines[] = array("my name", "[email protected]", "1", "0"); } This 
> code results in my browser displaying an error : File not found.
> Firefox cannot find the file at the url 
> http://127.0.0.1:8081/users_dev.php/newsletter/ListCsvReport/action
>
> OTOH, if I comment some lines in my method :
> // $response->clearHttpHeaders();
> // $this->layout(false);
> // $this->setTemplate('listCsvReportSuccess');
> my browser downloads a .csv file. Unfortunately, the file displays 
> uncool data such as HTML and PHP code but not a single line of my 
> template, except the cryptic <td 
> title='C:\wamp\www\Compagnie\apps\users\modules\newsletter\templates\listCsvReportSuccess.php'
> bgcolor='#eeeeec'>..\listCsvReportSuccess.php<b>:</b>4</td></tr>
>
> Obviously, I'm missing some elephant. Can you point me to the right 
> direction ?
>
> --
> If you want to report a vulnerability issue on symfony, please send it 
> to security at symfony-project.com
>
> You received this message because you are subscribed to the Google 
> Groups "symfony users" group.
> To post to this group, send email to [email protected] To 
> unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/symfony-users?hl=en
>



--
Gareth McCumskey
http://garethmccumskey.blogspot.com
twitter: @garethmcc

--
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to [email protected] To 
unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en


-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en

Reply via email to