web-dev-qa-db-fra.com

Est-ce une boucle de route?

Notre site (Joomla 2.5.8) utilise le composant/module Document Seller (je ne suis pas sûr du bon usage de ces termes dans Joomlaverse) pour classer et vendre une série de PDF documents. La catégorisation est actuellement problématique.

La structure est telle qu’il existe un petit nombre de catégories (environ 5), chacune comprenant 3 à 8 sous-catégories. Les documents appartiennent à un nombre arbitraire de sous-catégories. (La logique métier n'impose pas une contrainte de documents appartenant uniquement à des sous-catégories, mais c'est ainsi que cela a été utilisé.)

Les tables de base de données ressemblent à ce à quoi vous vous attendiez: une table de catégories qui comprend un ID parent (c'est ainsi que les sous-catégories sont liées à leurs catégories parentes) et une table de jointure de catégorie/document avec des ID pour les catégories. En regardant les tables de la base de données, tout semble aller de soi.

Cependant, lorsque je visite la page de liste pour une sous-catégorie, je vois un chemin comme celui-ci:

http://www.oursite.org/index.php/publications/strategic-planning/subcategory-name

... et de chapelure comme ceci:

Accueil "Publications" Planification stratégique "Nom de la sous-catégorie" Planification stratégique "Nom de la sous-catégorie

Le premier lien vers "Nom de la sous-catégorie" a l'URL qui apparaît dans la barre d'adresse du navigateur. Le deuxième lien vers "Planification stratégique" ressemble à ceci:

http://www.oursite.org/index.php/publications/strategic-planning/subcategory-name/view_categories/9-strategic-planning

La page se lit "Il n'y a pas de documents dans cette catégorie" bien qu'il y ait en fait des documents dans cette catégorie. Si je visite l'URL de la catégorie répertoriée ci-dessus, j'obtiens une liste de sous-catégories indiquant le nombre correct de documents dans les sous-catégories, mais les liens correspondants me renvoient où je me trouvais (la page sans documents).

Pour moi, il semble que l'URL "correcte" (plus courte) soit en cours d'acheminement vers un ensemble de paramètres erronés, et que les paramètres corrects génèrent une URL erronée (qui est en quelque sorte redirigée vers l'URL plus courte).

Le router.php fichier pour le module apparaît à mes yeux inexpérimentés d'être en ordre.

Dans les pages d'administration, toutes les catégories affichent 0 document, mais les documents sont en place et, comme je l'ai déjà mentionné, le tableau de la base de données reliant les catégories et les documents semble établir les relations correctes.

Je ne suis ni un développeur Joomla, ni un PHP hacker. Je suis un développeur Ruby/Rails essayant d'aider notre webmaster, qui n'est pas un programmeur. Comment dois-je commencer le débogage ce problème?

2
pjmorse

Nous avons résolu ce problème en mettant à jour Joomla vers la version 2.5.24 (une mise à niveau sans problème à la dernière version) et en mettant à jour Document Seller vers sa version 3.5. Le problème décrit ci-dessus s'est résolu exactement comme @johanpw l'avait suggéré.

2
pjmorse