Marco Ziesing

Development & System Administration
  • rss
  • Home
  • Über mich
  • Linkliste
  • Infos
  • Impressum

TYPO3-Extdev: Eine Klasse für Front- und Backend-Module

November 7, 2008

Bei der Entwicklung von TYPO3-Extensions kann es hin und wieder vorkommen, dass die selben Funktionen im Front- und Backend gleichermaßen benötigt werden. Normalerweise lässt sich eine Klasse nur für eine von beiden Seite verwenden, da je nach Verwendung unterschiedliche Bibliotheken geladen werden müssen. Mit einem kleinen Trick lässt sich jedoch auch dieses Hindernis umgehen. Die Klasse muss dazu dynamisch als String zusammengesetzt und am Ende mit eval() als PHP-Code ausgegeben werden.

[geshi lang=php] if(TYPO3_MODE == ‘FE’) {
require_once(PATH_tslib.”class.tslib_pibase.php”);
} else {
require_once(PATH_t3lib.”class.t3lib_befunc.php”);
}

if(TYPO3_MODE == ‘FE’) {
$classtemp .= <<
class tx_extkey_funct extends tslib_pibase
TEMP;
} else {
$classtemp .= <<
class tx_extkey_funct extends t3lib_befunc
TEMP;
}

$classtemp .= <<
{
// functions with if-else for BE and FE
}
TEMP;

eval($classtemp);

if (defined(‘TYPO3_MODE’) && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/extkey/class.tx_extkey_funct.php']) {
include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/extkey/class.tx_extkey_funct.php']);
}

?>[/geshi]

Vielen Dank an Seba für diesen Tipp. ;-)

  •  
  •  
  •  
  •  
  •  
  •  
  •  
Kategorien
TYPO3
Tags
development, typo3
RSS Kommentare
RSS Kommentare
Trackback
Trackback

« JTL-Wawi Connector für xt:Commerce mit UTF-8-Unterstützung Fedora Ambassador Day EMEA 2008 in Basel »

Leave a Reply

Hier klicken, um die Antwort abzubrechen.

Kategorien

  • Hardware
  • Linux
  • Mac OS X
  • Real Life
  • Server
  • Sicherheit
  • TYPO3
  • Uncategorized
  • Webdev
  • Windows

Schlagwörter

android development fedora linux opensource piwik security serendipity server spam sql typo3 wordpress
rss RSS Kommentare valid xhtml 1.1 design by jide powered by Wordpress get firefox