[TYPO3-german] RealURL: userFunc statt lookUpTable zum Wechseln der Tabelle
Hauke Hain
newgrp at googlemail.com
Sun May 3 11:14:28 CEST 2009
Hallo,
bei meiner Extension habe ich zwei Display Modes, die man beim Plugin im
Backend auswählen kann. Je nach Modus werden die Daten in anderen tabellen
abgelegt.
Nun soll der Titel bei RealURL aus der Tabelle geholt werden. Das
funktioniert auch mit lookUpTable, doch muss die Tabelle je nach DisplayMode
gewechselt werden.
Daher dachte ich daran, eine userFunc zu schreiben und sie mit
'userFunc' =>
'EXT:myext/res/php/class.realurl.php:&tx_myext_realurl->main'
aufzurufen
Folgendes ist die class.realurl.php:
<?php
require_once(PATH_tslib.'class.tslib_pibase.php');
class tx_myext_realurl {
function main($params, $ref) {
$result = $GLOBALS['TYPO3_DB']->exec_SELECTquery (
'title',
$this->getTable(),
' and uid='.intval($params['value']).
' and deleted=0 and hidden=0','','','1'
);
$res = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result);
$GLOBALS['TYPO3_DB']->sql_free_result($result);
return
tx_realurl_advanced::encodeTitle($res['title']).'-'.$params['value'];
}
function getTable() {
$displayMode =
$this->pi_getFFvalue($this->cObj->data['pi_flexform'],'field_displayMode');
if ($displayMode == 1) { //fe_user reviews
return 'tx_myExt_table1';
} else {
return 'tx_myExt_table2';
}
}
}
?>
Problem ist nun, dass pi_getFFvalue() eine unbekannte Methode ist.
Wie kriege ich nun heraus, in welchem Modus mein Frontend Plugin ist?
Ich hoffe auf baldige Antworten und Danke euch für eure Aufmerksamkeit und
Zeit.
Hauke
More information about the TYPO3-german
mailing list