[TYPO3-project-formidable] Renderlet:Lister - Export as CSV, RSS, XML ...

Luc Muller l.mul-nospam-ler at ameos.com
Mon Apr 28 17:07:47 CEST 2008


there's an error in the second foreach

foreach($val as $key=>$val){
should be
foreach($val as $cle=>$valeur){

Luc Muller a écrit :
> Ho ho ho...
>
> well.... hmmm.... we already think about this...
>
> it's true that being able to chose the output format of formidable 
> would be cool...
> in another hand, those kind of ideas sounds like "ooopsss I think I've 
> just openend the pandora's box....".
>
> Well, especially for you... (and all the other Formidable users)
>
> here's something I've made a few days ago.
>
> assuming you got a datasource "mydatasource"
>
> you can create a button like this :
>
> <renderlet:BUTTON name="getcsv" label="Download CSV DATA">
>             <onclick runat="server" when="end" >
>                 <userobj>
>                     <php><![CDATA[
>
>                         $aData = 
> $this->aODataSources["liste_contact"]->_fetchData();
>
>                         $aBodyContent = array();
>                         foreach($aData["results"] as $key=>$val){
>                             $aHeader = array();
>                             $aBodyContent[$key] = array();
>                            foreach($val as $key=>$val){
>                                 $aHeader[] = $cle;
>                                 $valeur = str_replace(";","",$valeur);
>                                 $aBodyContent[$key][$cle] = $valeur;
>                             }
>                             $aBodyContent[$key] = 
> implode(";",$aBodyContent[$key]);
>                         }
>
> //                        debug($aHeader,"Header");
> //                        debug($aBodyContent,"Content");
>
>                         $sHeader = implode(";",$aHeader)."\n";
>                         $sBodyContent = implode("\n",$aBodyContent);
>
> //                        debug($sHeader,"header");
> //                        debug($sBodyContent,"Content");
>
>                         $sCsv = $sHeader.$sBodyContent;
>
>                         $sCsv = utf8_decode($sCsv);
>
>                         //debug($sCsv,"Csv");
>
>                         $sFileName = md5($sCsv).".csv";
>
>                         
> t3lib_div::writeFileToTypo3tempDir(PATH_site."typo3temp/csv/".$sFileName,$sCsv);
>
>                         
> $this->forceDownload(PATH_site."typo3temp/csv/".$sFileName,"liste.csv");
>
>                         return false;
>
>                     ]]></php>
>                 </userobj>
>             </onclick>
>         </renderlet:BUTTON>
>
> This SHOULD create a csv download button to download all the data from 
> the datasource in the current state of search.
> as I removed some piece of code (formatting and so on...) right in my 
> mailer, the script may not work from scratch, but the idea is here.
>
> Hope this will help you.
>
> Luc Muller
>
> Benjamin Fischer a écrit :
>> Hello again at formidable,
>>
>> I am currently working on a formidable frontend to display tracking
>> data of user interaction on an image database. Actions like Login,
>> Upload, Download, Preview, Zip and other actions are logged in MySQL
>> and later formated and displayed with a formidable Renderlet:Lister
>> bound to a searchform. This works very well and the feature ist used
>> frequently by the administrators of the image database.
>>
>> To have an even more powerful system it would be great if the users
>> could export the current searchresult of the Renderlet:Lister in
>> another format like CSV to save it on their local disks. Another much
>> asked for feature would be the generation of RSS Feeds from
>> Renderlet:Lister results. These feeds might have their params send via
>> get params i.e. ?action=upload&user=664&type=rss to have an RSS Feed
>> of all recent uploads of user 664.
>>
>> Do you think this could be possible with formidable - or maybe would
>> it be possible using special "templates" for other datatypes like CSV,
>> RSS, XML or even others like ICS oder TXT.
>>
>> Thank you again for formidable, all the best,
>>
>> Benjamin
>>
>>   
>
>
> -- 
>
> *Luc Muller*
> /Web Developper/
> /Formidable - Rapid Application Developpement Framework for Typo3 
> <http://formidable.typo3.ug>/
> /Typo3 Ameos <http://www.ameos.com>/
>


-- 

*Luc Muller*
/Web Developper/
/Formidable - Rapid Application Developpement Framework for Typo3 
<http://formidable.typo3.ug>/
/Typo3 Ameos <http://www.ameos.com>/


More information about the TYPO3-project-formidable mailing list