Ich hab ein Problem, weil es bei RECORDS nicht die max-Option gibt:
Folgendes kann ich nicht schreiben weil sich tx_templavoila_ds ändern kann.
10= CONTENT
10.table = tt_content
10.select {
pidInList = this
max = 1
where = tx_templavoila_ds = 30
andWhere = deleted=0
andWhere = hidden=0
orderBy = sorting
}
also hab ich es im moment wieder so:
10= RECORDS
10.source.current = 1
10.tables = tt_content
}
Problem ist, dass er hier wieder alle Elemente anzeigt. Ich will nur das erste haben. Gibt es die Möglichkeit mit RECORDS trotzdem nur das erste Element ausgeben zu lassen?
sollte das gehen müsste ich es hier einbauen:
10= RECORDS
10.source.data = GPVar:rid
10.tables = tt_content
10.stdWrap.override.cObject = RECORDS
10.stdWrap.override.cObject {
required = 1
source.current = 1
tables = tt_content
select.max = 1
}
Hab es nun mit einer PHP-Funktion gelöst. Man kann nun auch direkt Inhalte über einen Get-Parameter laden.
Ich versuche es hier mal stark vereinfacht dazustellen:
Datastructure (<TypoScript>10=RECORDS...</TypoScript> entfernen)
<eType>TypoScriptObject</eType>
<TypoScriptObjPath>lib.fce_rendering.list</TypoScriptObjPath>
Seitentemplate (durch Parameter flexibel auf andere Bereiche anwendbar)
includeLibs.fce_utils = path/to/contentElementTransform.php
lib.fce_rendering = COA
lib.fce_rendering {
list = USER
list {
userFunc = user_contentElementTransform->content
renderObject < tt_content
column = field_list_bottom
param = id
}
}
<?php
class user_contentElementTransform extends tslib_pibase {
var $cObj;
var $conf;
var $elements;
// id from get-param
var $id;
// id that will be displayed
var $id2display = null;
function content($content, $conf) {
$this->conf = $conf;
$this->elements = explode(',', $this->cObj->data[$conf['column']]);
$this->id = t3lib_div::_GET($conf['param']);
// check for elements and optinal get-param
$this->id2display = is_numeric($this->id) && is_numeric(array_search($this->id, $this->elements)) ? $this->id : (isset($this->elements[0]) ? $this->elements[0] : null);
// no elements
if (!isset($this->id2display)) return;
// fetch element
$data = $this->pi_getRecord('tt_content', $this->id2display);
// render element
$this->cObj->start($data, 'tt_content');
return $this->cObj->cObjGetSingle($conf['renderObject'], $conf['renderObject.']);
}
}
?>