Login / Status
developer.Resource
Home . Documentation . Document Library . Extension Manuals
Sponsors
hosted by punkt.deTYPO3 and Open Source Magazine

1.2. Users manual

Just create a TV mapping with a fields editing type set to “Content Elements” or use an already existing DS/TO. Then go to the storage folder containing the DS/TO and click the edit-icon of the DS. You will now see the XML of the DS. Search for your field. It should look like:

<field_openings type="array">
...
</field_openings>

If you have found your field have a look for the TS generating the content out of the Content Elements:

10= RECORDS
10.source.current=1
10.tables = tt_content

Now you just have to change the middle line (.source =) to let the content elements get retrieved in a different way. Change  the middle line so the complete TS looks like:

10= RECORDS
10.source.postUserFunc = tx_kbtvcontslide_pi1->main
10.source.postUserFunc.field = field_openings
10.tables = tt_content

You have to specify the name of the field from which the content elements shall get retrieved by the line

10.source.postUserFunc.field = field_openings

The TS won't know the name of the field it is defined in on it's own so you always have to define it. Normally this will be the same as the name of the field the TS is for. (i.e. the name of the TAG sourrounding the TS). But of course you could retrieve content from a different field.

Example (comes with cab TV getContentParts): How to get content parts from other sites if no content elements are existing on the actual site.

lib.myTVObject = COA
lib.myTVObject {
 stdWrap.ifEmpty.cObject = RECORDS
 stdWrap.ifEmpty.cObject {
  source.postUserFunc = tx_cabtvgetcontentparts_pi1->main
  source.postUserFunc.field = field_openings

  source.postUserFunc.uid = 43

  source.postUserFunc.max = 4

  source.postUserFunc.slice = -3,2

  tables = tt_content
 }
 10 = RECORDS
 10{
  source.current=1
  tables = tt_content
  #wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end--> 
  }
}