Hallo Resta,
Du kannst in der pi-Datei verschiedene Ansichten definieren und entsprechende Funktionen dafür anlegen. Der Rest ist im Grunde einfach PHP-Scripting. Schön und langfristig deutlich erleichternd ist es natürlich wenn Du dabei auf die Typo3-Funktionen zurückgreifst aber unbedingt nötig ist die nicht.
Beispiel:
PHP-Code:
function main($content,$conf) {
switch($this->cObj->data['select_key']) {
case 'clientsListView':
list($t) = explode(':',$this->cObj->currentRecord);
$this->internal['currentTable']=$t;
$this->internal['currentRow']=$this->cObj->data;
return $this->pi_wrapInBaseClass($this->clientsListView($content,$conf));
break;
case 'projectListView':
if (strstr($this->cObj->currentRecord,'tt_content')) {
$conf['pidList'] = $this->cObj->data['pages'];
$conf['recursive'] = $this->cObj->data['recursive'];
}
return $this->pi_wrapInBaseClass($this->projectListView($content,$conf));
break;
case 'singleView':
if (strstr($this->cObj->currentRecord,'tt_content')) {
$conf['pidList'] = $this->cObj->data['pages'];
$conf['recursive'] = $this->cObj->data['recursive'];
}
return $this->pi_wrapInBaseClass($this->singleView($content,$conf));
break;
default // wäre dann ja wahrscheinlich Dein clientsListView... \\
Dann schreibst Du dir einfach Funktionen für die Darstellung:
PHP-Code:
function projectListView($content,$conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$lConf = $this->conf['tunnelView.'];
// hier kommt Dein PHP Code die Darstellung rein. \\
}
That's it.