Compatibilité Joomla!
Suite à une astuce donnée par ZDamienZ sur le forum.joomla.fr, j'ai décidé de mettre en ligne ce petit tutoriel pour vous montrer comment d'une manière très simple créer un article qui sera affiché lorsqu'un visiteur tombera sur une page 404.
Aperçu de votre page 404 par défaut :
Pas besoin d'argumenter, je pense qu'on est tous d'accord pour dire que c'est moche ! On va donc créer une redirection vers un article, ce qui conservera toute la présentation du site avec le template, les menus et un article dédié à la page 404.
Etape 1 : Création d'un article
Il suffit de créer un nouvel article et de le mettre en 'non catégorisé' pour éviter qu'il n'apparaisse par mégarde sur le site. Vous pouvez y mettre ce que vous voulez comme texte, moi j'ai mis ça :
"Apparemment la page que vous cherchez n'est pas ou plus accessible à cette adresse.
Je vous invite à utiliser le menu pour atteindre la page que vous cherchiez, et bonne visite !"
Une fois l'article enregistré vous devez noter son ID, dans la liste des articles de votre site la dernière colonne indique l'ID de chaque article. Dans mon exemple mon article porte le numéro 42.
Etape 2 : Création du fichier error.php
On prend un fichier php vide que l'on nomme 'error.php' et on le place dans le dossier du template de votre site Joomla! :
[monsite]/templates/[mon template]/error.php
On y met ces quelques lignes :
<?php defined( '_JEXEC' ) or die( 'Restricted access' ); jimport('joomla.application.component.controller'); $controller = new JController(); $controller->setRedirect('index.php?option=com_content&view=article&id=42'); $controller->redirect(); ?>
Attention il faut modifier l'url pour pointer vers l'ID de votre article (view=article&id=VOTRE_ID)
Et voilà ! c'est fait, dès que vous arrivez sur une page 404 Joomla! va chercher la page 'error.php' du template par défaut du site et la charge. Les lignes de code permettent de rediriger vers un article dont l'ID est celui défini (ici 42).