Bonjour à toutes et tous !!

Je suis en train de finaliser la création d'un composant pour Joomla! et comme il est dit dans le titre, j'ai un soucis avec la réécriture d'URL.

J'ai bien créé ma class "router.php" qui est bien appelée par le fichier "racine" de mon composant, et j'utilise bien "JRoute" pour réécrire mes URL en claire.

Le souci c'est que Joomla! ignore mon composant et charge le contenu du composant natif "com_content".

exemple si je renvois l'url suivante :
"http://localhost/lafoliedesvernis/vernitheque/revendeurs/2-printemps-haussmann.html", Joomla va m'afficher l'article ayant l'ID 2 plutot que de m'afficher la fiche revendeur ayant pour ID 2. Je sens que je touche au but, il doit manquer due code quelque part mais je ne vois pas quoi... qu'est ce qui fait que Joomla va utuliser MON router et pas celui du "com_content" ??

Je remet le code de mon router si certains veulent le voir :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
  defined('_JEXEC') or die('Restricted access');
 
  function VernithequeBuildRoute( &$query )
  {
    $segments = array();
 
    if (isset($query['view'])) {
		$segments[0] = $query['view'];
  		unset($query['view']);
  	};
 
    if (isset($query['id'])) {
 			$segments[1] = $query['id'];
  		unset($query['id']);
  	};
 
    return $segments;
  } // End VernithequeBuildRoute function
 
  function VernithequeParseRoute( $segments )
  {
    $vars = array();
 
    if (count($segments) > 0) {
 
  		$vars['view'] = $segments[0];
      switch ($vars['view']) {
        case 'all':
      		$catid = explode(':', $segments[1]);
      		$vars['catid']= (int) $catid[0];
			break;
        case 'category':
      		$vars['id']   = (int) $segments[1];
			break;
        case 'marques':
      		$id   = explode(':', $segments[1]);      		
      		$vars['id']= (int) $id[0];        
			break;
        case 'revendeurs':
      		$id   = explode(':', $segments[1]);      		
      		$vars['id']= (int) $id[0];        
			break;
        case 'vernis':
      		$id   = explode(':', $segments[1]);      		
      		$vars['id']= (int) $id[0];        
			break;
        case 'configuration':
      		$id   = explode(':', $segments[1]);      		
      		$vars['id']= (int) $id[0];        
			break;
        case 'panel':
      		$id   = explode(':', $segments[1]);      		
      		$vars['id']= (int) $id[0];        
			break;
 
      };
 
    } else {
      $vars['view'] = $segments[0];
    } // End count(segments) statement
 
    return $vars;
  } // End VernithequeParseRoute
 
?>
Merci à tous pour votre , c'est un peu urgent allez si vous avez le moindre bout d'idée merci de me le transmettre.

Bonne journée à toutes et tous !!