[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