© TYPO3 Association, typo.org

TypoScript Conditions sind eine der vielen praktischen Seiten die mit der Verwendung von TypoScript einhergehen. TYPO3 kommt standardmäßig mit verschiedenen nützlichen Weichen (siehe z.B. hier oder hier) aber manchmal hat man Bedarf für eine eigene TypoScript Condition. Dieser Blogpost beschreibt was dazu nötig ist und beinhaltet eine Beispielextension.

 

Alles was man benötigt ist eine kleine PHP Funktion (die in jedem Fall mit user_ beginnen muss) in der typo3conf/localconf.php oder in eine ext_localconf.php einer Extension:

function user_isInDevIpMask(){
    global $TYPO3_CONF_VARS;    
    $flag = false;
  
    // IP-based Access restrictions
    $devIPmask = trim($TYPO3_CONF_VARS['SYS']['devIPmask']);
    $remoteAddress = t3lib_div::getIndpEnv('REMOTE_ADDR');

    if (t3lib_div::cmpIP($remoteAddress, $devIPmask)) {
        $flag = true;
    }
            
    return $flag;
}        
Beispiel Funktion Typoscript Condition

In diesem Beispiel teste ich ob die Anfage aus dem in den TYPO3 Conf Vars definierten IP Bereich stammt. Auf diese Art lassen sich zum Beispiel bestimmte Scripte wie Firebug Lite oder JsLint einbinden wenn man sie benötigt:

# when in dev IP mask and not Firefox
[userFunc = user_isInDevIpMask] && [browser = msie,netscape,opera,safari]
    page.headerData.3 = HTML
    page.headerData.3.value = <script type="text/javascript" src="https://getfirebug.com/firebug-lite-beta.js#startOpened=true"></script>
[global]
Typoscript Code für eigene condition

Dieses Beispiel ist im TYPO3 TER verfügbar unter dem Namen devipmask:

 

 

devipmask im TER

Die Kommentarfunktion ist für diesen Artikel deaktiviert.

0 Kommentare