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-->
}
}