Samstag, 8. September 2012

RealURL-Vorkonfiguration für Extensions

Sie benutzen Ihre TYPO3 Extension in verschiedenen Projekten oder haben diese sogar ins TYPO3 Extension Repository hochgeladen und wollen sich bzw. den Benutzern der Extension die Konfiguration von RealURL ersparen? Das ist ganz einfach!
Einfach in der ext_localconf.php Ihre Parameter für RealURL konfigurieren, optional können Sie eine Abfrage einbauen um die Vorkonfiguration zu verhindern, falls Sie bzw. der Benutzer eine andere RealURL-Konfigurationsstruktur hat.

Das folgende Snippet zeigt eine beispielhafte Konfiguration mit dem postVarSets Segment; natürlich können Sie auch andere Segmente, wie fixedPostVars, verwenden. Des weiteren habe ich dort ein Flag für die Vorkonfiguration in den Extension-Einstellungen(ext_conf_template.txt) eingebaut.

ext_localconf.php:
<?php
if (!defined('TYPO3_MODE')) {
  die ('Access denied.');
}

$extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['YOUR_EXTENSION_KEY']);
if($extConf['enableRealURLAutoConf'] == 1) {
  if(t3lib_extMgm::isLoaded('realurl')) {
    if(!is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT']['postVarSets']['_DEFAULT'])) {
      $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT']['postVarSets']['_DEFAULT'] = array();
    }
    array_push(
      $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT']['postVarSets']['_DEFAULT'],
      'YOUR_PARAMETER_ALIAS' => array (
        'GETvar' => 'tx_YOUR_EXTENSION_KEY_pi1[YOUR_PARAMETER]'
      )
    );
  }
}

?>
ext_conf_template.txt:
# cat=basic/enable; type=boolean; label=RealURL pre-configuration: This will generate a RealURL pre-configuration if RealURL is installed and loaded. Disable this if you want to write your configuration for RealURL manually.
enableRealURLAutoConf = 1

Weitere Informationen zu der Konfiguration von RealURL können Sie hier finden.

Fragen oder Anregungen? Gerne in den Kommentaren!

Keine Kommentare:

Kommentar veröffentlichen