[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