[TYPO3-UG Denmark] Plugin der spytter CSV-filer ud
Sune Vestergaard
sune at typoconsult.dk
Thu Mar 16 23:46:13 CET 2006
Hej Peter (og Peter)
Den "rigtige" TYPO3-måde er velsagtens at definere et nyt PAGE objekt i en
extension template på en eller anden side. Derefter bygge indholdet op i et
plugin som du selv visualiserer - men i stedet for at skrive til skærmen -
så blot returnere indholdet.
Page objektet skulle vel så se nogenlunde sådan ud:
cvsExport = PAGE
cvsExport.typoNum = 123
cvsExport.disableAllHeaderCode = 1
cvsExport.additionalHeaders = Content-type: application/vnd.ms-excel |
Content-disposition: inline; filename=liste.csv
cvsExport.10 < plugin.my_csv_export_key_pi1
- det er naturlivis komplet utestet - men så vidt jeg kan regne ud så virker
det :-)
Det antages her at du har lavet en ny extension med navnet
"my_csv_export_key" og deri laver et plugin den PHP kode du selv angiver -
men blot returnerer indholdet af filen i stedet for at printe det.
Du får så fat i dine data ved at kalde den side hvor dette TS er defineret
med '&type=123' i din querystring.
MVH
Sune Vestergaard
"Peter Makholm" <peter at makholm.net> skrev i en meddelelse
news:mailman.12936.1142522077.3122.typo3-ug-denmark at lists.netfielders.de...
> Jeg har lavet et plugin der genererer et datasæt og præsenterer det i
> noget HTML. Nu vil jeg egentlig også gerne "præsentere" de samme data
> som en CSV-fil, XML-fil, whatever...
>
> Jeg har tidligere haft noget der redefinerer mit PAGE-objekt i
> TyoScript for et delhierarki, men det er IMHO lidt et hack.
>
> Mulighed nummer 2 er at gøre noget ala:
>
> $query = "SELECT * FROM tx_table;"
> $res = mysql(TYPO3_db,$query);
>
> header('Content-type: application/vnd.ms-excel');
> header('Content-disposition: inline; filename=liste.csv');
> while($row = mysql_fetch_assoc($res) ) {
> echo $row['title'].";".$row['type']."\n";
> }
>
> exit;
>
> i main() i pluginnet. En smule pænere, men jeg afbryder Typo3 ret
> brutalt og får derfor ikke glæde af caching og hvad Typo3 nu ellers
> kunne finde på...
>
> Har jeg en tredje mulighed? Hvad er den kanoniske måde at gøre det på?
>
> --
> Peter Makholm | According to the hacker ethic, the meaning of life
> peter at makholm.net | is not Friday, but it is not Sunday either
> http://hacking.dk | -- Pekka Himanen
More information about the TYPO3-UG-denmark
mailing list