Magazine High tech

Embarquer une config realurl par défaut dans une extension TYPO3

Publié le 19 novembre 2009 par Apen

Lorsque l’on développe une extension, il peut être intéressant de prendre en charge la réécriture des paramètres passés en $_GET. Pour cela, sous TYPO3, on utilise généralement l’extension realurl. Cette extension fonctionne à l’aide d’une configuration particulière (sous forme de tableau) que l’on fait dans un fichier PHP. Ce fichier peut devenir vite volumineux si jamais beaucoup de développements spécifiques sont présents sur votre site.
Dans une logique de « refactoring », il peut être intéressant d’embarquer directement cette configuration realurl dans le répertoire de votre extension, pour qu’elle soit active à l’installation. Pour cela, vous avez juste à renseigner les mêmes lignes que celle placées dans le fichier global sauf que vous les placerez dans le fichier « ext_localconf.php » de votre extension. Voici un exemple de configuration placée à la fin du fichier « ext_localconf.php » (avec un développement maison) :

view source

01 if (t3lib_extMgm::isLoaded('realurl')) {

02  

03     $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['postVarSets']['_DEFAULT']['univers'] =

04     array(

05         array(

06             'GETvar' => 'ycboutique[category]',

07             'lookUpTable' => array(

08                 'table' => 'tx_ycboutique_categorie',

09                 'id_field' => 'uid',

10                 'alias_field' => 'libelle',

11                 'addWhereClause' => ' AND NOT deleted',

12                 'useUniqueCache' => 1,

13                 'useUniqueCache_conf' => array(

14                     'strtolower' => 1,

15                     'spaceCharacter' => '-',

16                 ),

17             ),

18         ),

19     );

20  

21     $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['postVarSets']['_DEFAULT']['famille'] =

22     array(

23         array(

24             'GETvar' => 'ycboutique[subcategory]',

25             'lookUpTable' => array(

26                 'table' => 'tx_ycboutique_souscategorie',

27                 'id_field' => 'uid',

28                 'alias_field' => 'libelle',

29                 'addWhereClause' => ' AND NOT deleted',

30                 'useUniqueCache' => 1,

31                 'useUniqueCache_conf' => array(

32                     'strtolower' => 1,

33                     'spaceCharacter' => '-',

34                 ),

35             ),

36         ),

37     );

38  

39     $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['postVarSets']['_DEFAULT']['produit'] =

40     array(

41         array(

42             'GETvar' => 'ycboutique[product]',

43             'lookUpTable' => array(

44                 'table' => 'tx_ycboutique_produit',

45                 'id_field' => 'uid',

46                 'alias_field' => 'libelle',

47                 'addWhereClause' => ' AND NOT deleted',

48                 'useUniqueCache' => 1,

49                 'useUniqueCache_conf' => array(

50                     'strtolower' => 1,

51                     'spaceCharacter' => '-',

52                 ),

53             ),

54         ),

55     );

56  

57 }

L’avantage de cette méthode est que la configuration n’est active que si realrul est installé sur votre site.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Apen 8 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte