Hi,

Goal: I have a button on a page. When user clicks it should generate a XML 
file and make it download (instead of opening in browser window).
Cake version: 1.3

So I create a HTML link like this:

<?php echo $html->link( __('Generate XML file', true), 
> array('action'=>'generateXMLFile','ext'=>'xml'), 
> array('class'=>'button','target'=>'_blank') ); ?>


Which outputs a simple HTML link. 

I have added in Routes:

      Router::parseExtensions('json','xml');


My action: 

function generateXMLFile(){
> // Configure::write('debug',0);
> // Only XML Requests
> if(!$this->RequestHandler->isXml()){
> die();
>
>                    }
> }



My view:

>
> <response>
> <posts>
> <Post>
> <id>test 234</id>
> </Post>
> </posts>
> </response>


My Layout:

<?php header('Content-type: text/xml');?>
> <?php echo $this->Xml->header(); ?>
> <?php echo $content_for_layout; ?>



Now when I click the link the XML is sent as output to the screen. Clicking 
with right mousebutton ->save as.. makes it possible to save the file as 
XML. 
Headers are correctly set as text/xml

How can i prevent this from outputting to the screen but output it to a 
file/stream for download ?

thanks 


-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to