[TYPO3-UG Dutch] Alle inhoud van 1 pagina in XML

Patrick Broens patrick at netcreators.com
Wed Jul 29 12:07:55 CEST 2009


Hi Jordan,

In de install tool onder de optie 'Database Analyzer' staat een door de
meeste mensen verguisde optie, namelijk 'Dump static data'. Hiermee kun
je onder andere de 'static_template' tabel importeren, waar voor jou een
hele interessante optie in staat.

Na deze import ga je naar één van je TS templates en klikt daar op de
tab 'Includes'. Je zult daar zien dat onder de optie 'Include static'
een aantal mogelijkheden zijn gekomen. Onder andere plugin.alt.xml (96).
Dit stuk TS zorgt ervoor dat XML geparsed wordt van je content onder
type=96. De content wordt hierbij door een PHP script gehaald.

Wat je dan krijgt is ongeveer het volgende:
<typo3_page>
    <pages uid="1">
        <doktype>1</doktype>
        <title>XML test</title>
    </pages>
    <content_records>
        <tt_content uid="1">
            <CType>text</CType>
            <header>Een tekst element</header>
            <bodytext>Met wat tekst</bodytext>
        </tt_content>
    </content_records>
</typo3_page>

Dit kun je altijd weer zelf stylen. Je geeft niet aan of je
daadwerkelijk een RSS feed wilt hebben. Daar lijkt het wel op. Wil je
gewoon een fatsoenlijke XML output, dan voldoet deze prima.

Het is lang geleden dat ik deze optie ooit gebruikt heb, maar het zou
nog moeten werken. Let wel op dat dit alleen goed gaat bij gewone
paginacontent. Plugins wordt lastiger.

Patrick

Jordan van Bergen wrote:
> Hoi Allen,
> 
> Ik ben al een aardig eind. Dit doet al wat:
> 
> xml = PAGE
> xml{
>   typeNum = 21
>   config {
>     renderCharset = utf-8
>     disableAllHeaderCode = 1
>     additionalHeaders = Content-type:text/xml
>     no_cache = 1
>     xhtml_cleaning = 0
>     admPanel = 0
>   }
>   10 = CONTENT
>   10{
>     table = tt_content
>        select{
>        pidInList.data = page:id
>        # juiste taal opvragen
>        languageField =sys_language_uid
>        # alleen het normal gedeelte van een pagina
>        where = colPos=0
>        # de sortering instellen
>        orderBy = sorting ASC
>        }
>     # xml opbouwen met CDATA
>     wrap = <?xml version="1.0"
> encoding="utf-8"?><channel><body><![CDATA[|]]></body></channel>
>     renderObj = COA
>     renderObj{
> 
>        wrap = |
>        30 = COA
>        30{
>                50 = TEXT
>                50 {
>                # headers in H1 zetten
>                wrap = <h1>|</h1>
>                field = header
>                }
> 
>                60 = TEXT
>                60 {
>                wrap = |
>                field = bodytext
>                }
>             }
>         }
>    }
> }
> 
> Hoe vinden jullie het?
> 
> Hoe zou ik dit verder kunnen verbeteren? TIPS/SUGGESTIES?
> Kan iemand daarnaast alle mogelijke fields opnoemen of moet ik dan
> gewoon in de tt_content tabel kijken?
> 
> Groeten,
> Jordan van Bergen


More information about the TYPO3-UG-Dutch mailing list