Reihenfolge der Extensionen-Liste beeinflussen

Armin Bartsch, Mittwoch, 30. Juni 2010

Beeinflussen in welcher Reihenfolge Extensionen geladen werden sollen

Es kann vorkommen das eine Extension zwingend am Ende der Extensions-Liste geladen werden muss. Mit dem Paramter priority in der Datei ext_emconf.php kann die Lade-Postion angegeben werden.

$EM_CONF[$_EXTKEY] = array( 'title' => 'Erweiterung für iw_product', 'description' => 'Anpassungen TCA usw', 'category' => 'plugin', 'author' => 'Armin Bartsch', 'author_email' => '', 'shy' => '', 'dependencies' => '', 'conflicts' => '', 'priority' => 'bottom', 'module' => '', 'state' => 'stable', 'internal' => '', 'uploadfolder' => 0, 'createDirs' => '', 'modify_tables' => '', 'clearCacheOnLoad' => 0, 'lockType' => '', 'author_company' => '', 'version' => '0.0.4', 'constraints' => array( 'depends' => array( ), 'conflicts' => array( ), 'suggests' => array( ), ), 'suggests' => array( ), );
  1. $EM_CONF[$_EXTKEY] = array(
  2.   'title' => 'Erweiterung für iw_product',
  3.   'description' => 'Anpassungen TCA usw',
  4.   'category' => 'plugin',
  5.   'author' => 'Armin Bartsch',
  6.   'author_email' => '',
  7.   'shy' => '',
  8.   'dependencies' => '',
  9.   'conflicts' => '',
  10.   'priority' => 'bottom',
  11.   'module' => '',
  12.   'state' => 'stable',
  13.   'internal' => '',
  14.   'uploadfolder' => 0,
  15.   'createDirs' => '',
  16.   'modify_tables' => '',
  17.   'clearCacheOnLoad' => 0,
  18.   'lockType' => '',
  19.   'author_company' => '',
  20.   'version' => '0.0.4',
  21.   'constraints' => array(
  22.     'depends' => array(
  23.     ),
  24.     'conflicts' => array(
  25.     ),
  26.     'suggests' => array(
  27.     ),
  28.   ),
  29.   'suggests' => array(
  30.   ),
  31. );

Als Paramter stehen zur Verfügung:

  • bottom, mit als letztes laden
  • top, mit als erstes laden
  • middle, irgendwo in der Mitte laden

Es kann nicht die genau Ladereihenfolge bestimmt werden, sondern nur ob eine Extension am Anfang, in der Mitte oder am Ende geladen werden soll!

Zuständiger PHP-Code

Zu finden in der typo3/mod/em/class.em_index.php

/** * Traverse the array of installed extensions keys and arranges extensions in the priority order they should be in * * @param array Array of extension keys as values * @param array Extension information array * @return array Modified array of extention keys as values * @see addExtToList() */ function managesPriorities($listArr,$instExtInfo) { // Initialize: $levels = array( 'top' => array(), 'middle' => array(), 'bottom' => array(), ); // Traverse list of extensions: foreach($listArr as $ext) { $prio = trim($instExtInfo[$ext]['EM_CONF']['priority']); switch((string)$prio) { case 'top': case 'bottom': $levels[$prio][] = $ext; break; default: $levels['middle'][] = $ext; break; } } return array_merge( $levels['top'], $levels['middle'], $levels['bottom'] ); }
  1. /**
  2.    * Traverse the array of installed extensions keys and arranges extensions in the priority order they should be in
  3.    *
  4.    * @param array    Array of extension keys as values
  5.    * @param array    Extension information array
  6.    * @return  array  Modified array of extention keys as values
  7.    * @see addExtToList()
  8.    */
  9.   function managesPriorities($listArr,$instExtInfo) {
  10.  
  11.       // Initialize:
  12.     $levels = array(
  13.       'top' => array(),
  14.       'middle' => array(),
  15.       'bottom' => array(),
  16.     );
  17.  
  18.       // Traverse list of extensions:
  19.     foreach($listArr as $ext) {
  20.       $prio = trim($instExtInfo[$ext]['EM_CONF']['priority']);
  21.       switch((string)$prio) {
  22.         case 'top':
  23.         case 'bottom':
  24.           $levels[$prio][] = $ext;
  25.           break;
  26.         default:
  27.           $levels['middle'][] = $ext;
  28.           break;
  29.       }
  30.     }
  31.     return array_merge(
  32.       $levels['top'],
  33.       $levels['middle'],
  34.       $levels['bottom']
  35.     );
  36.   }

Entwicklungsumgebung

TYPO Version:
4.3.1

Kommentare

Ins Gästebuch eintragen
Kein Kommentar vorhanden

MERKLISTE

Login

Anmelden

Sponsored by:

ideenwerft webhosting

Wunschzettel