Error 404 (+autres) >> meilleurs façon de procéder ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Error 404 (+autres) >> meilleurs façon de procéder ?

    Config : Joomla! 2.5.19

    Bonjour, je souhaite personaliser la page 404:

    - J'ai suivi le le tuto de >> Ced << avec la création d'un article et d'une page error.php dans le template
    avec
    Code PHP:
    <?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=81');
    $controller->redirect();
    ?>
    Cela fonctionne en mettant quelquechose de bidon, sauf si je met un truc du genre http://mysite.fr/index.php3 ??

    - J'ai vu aussi d'autres tuto qui modifie la page templates/system/error.php en ajoutant sous 'restricted access' voir ce lien >> http://docs.joomla.org/Creating_a_Custom_404_Error_Page
    Code PHP:
    if (($this->error->code) == '404') {
    header('Location: /index.php?option=com_content&view=article&id=81');
    exit;

    Sauf que je n'ai pas de ligne contenant restricted access dans error.php ??

    D'ou les questions que je me posent:
    - Il y a t'il une méthode à privilégier (surtout pour les extensions en php3) ?
    - Doit je modifier aussi le htaccess ?
    - est ce que la méthode de ced est compatible avec toutes les erreurs (404, 500, 403...)

    Merci

    edit oubli:
    - peut on aussi avoir une page différente suivant la langue (francais / anglais / japonais),
    - peut on tracer les erreurs 404 dans un fichier ?
    Dernière édition par surf.77 à 27/04/2014, 17h55
    Production : Joomla! 2.5.X & Virtuemart
    Admin Tools Pro - Akeeba Backup - jlsecuremysite - AcyMailing - CK Forms - GMapFP

  • #2
    Re : Error 404 (+autres) &gt;&gt; meilleurs façon de procéder ?

    Alors,
    les codes suivant insérer après defined('_JEXEC') or die; fonctionne:
    Code:
    <?php 
    defined( '_JEXEC' ) or die( 'Restricted access' ); 
    jimport('joomla.application.component.controller'); 
    $controller = new JController(); 
    $controller->setRedirect('page-404'); 
    $controller->redirect(); 
    ?>
    ou

    Code:
    if (($this->error->getCode()) == '404') {
    header('Location: /page-404');
    exit;
    }
    je me suis crée un menu (non publié) avec comme titre et alias page-404 pointant vers l'article de personnalisation d'erreur


    Par contre, j'ai beau me créer plusieurs lien de menu suivant les langues et associer ensemble, je n'arrive pas à avoir une page d'erreur personnalisée suivant la langue.

    Est ce possible de d'avoir une page 404 suivant les langues?
    Production : Joomla! 2.5.X & Virtuemart
    Admin Tools Pro - Akeeba Backup - jlsecuremysite - AcyMailing - CK Forms - GMapFP

    Commentaire


    • #3
      Re : Error 404 (+autres) &gt;&gt; meilleurs façon de procéder ?

      alors pour la page d'erreur 404 je reste l'override de /templates/system/error.php
      avec personnalisation du message et des CSS

      Avantages:
      - Bon retour des erreurs 404, et non une redirection.
      - gestion d'autres erreurs (403,500 ...)
      - permet de personaliser le titre de la page :
      Code:
      <title><?php echo $this->error->getCode(); ?> - <?php echo htmlspecialchars($this->error->getMessage()); ?></title>
      - traductions automatique grâce au fichier language :
      Code:
      ?php echo JText::_('JERROR_AN_ERROR_HAS_OCCURRED'); ?><br /><?php echo JText::_('JERROR_LAYOUT_PAGE_NOT_FOUND'); ?>
      Inconvénients:
      - Codage en dur (html et php)
      - Difficultés d'introduire des modules, mais apparemment faisable (genre <jdoc:include type="component" />)

      Pour la redirection des http://XX.fr/YY.php3 vers accueil ou error.php au lieu du fichier Not Found de l'hergeur je cherche toujours

      si vous avez des recommandations ou astuces, n'hésité pas.
      Production : Joomla! 2.5.X & Virtuemart
      Admin Tools Pro - Akeeba Backup - jlsecuremysite - AcyMailing - CK Forms - GMapFP

      Commentaire


      • #4
        Re : Error 404 (+autres) &gt;&gt; meilleurs façon de procéder ?

        Bonjour,

        C'est effectivement comme ça que je fais en 3.2.3, ça marche très bien ainsi, il faut juste se méfier que ce code (en v3.2.3) ne fonctionne pas en local, seulement en hébergement de production

        Code PHP:
        if (($this->error->getCode()) == '404') {
        // une des méthodes qui fonctionne bien
        //header('Location: /index.php?option=com_content&view=article&id=57');
        // ou encore (avec SEF)
        //header('Location: /erreur');
        //ou encore  en local :
        //header("HTTP/1.0 404 Not Found");
        //echo file_get_contents(JURI::root().'/erreur');
        exit; 
        Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

        Commentaire


        • #5
          Re : Error 404 (+autres) &gt;&gt; meilleurs façon de procéder ?

          Bonsoir PieceOfCake,
          (Je suis sous joomla 2.5, j'ai mis à jour ma signature mais elle ne s'affiche pas )
          edit trouvé faut cocher la case

          Merci du retour, mais ta façon de procéder est la même que celle exposé au premier post ?? :
          créer un article, et un fichier error.php dans /template/montemplate/error.php qui redirige vers l'article. Je ne me trompe pas?
          dans ce cas est il possible d'avoir une page multilingue avec ta méthode? (je n'y suis pas arrivé)

          Ce que je fais est de personnaliser directement le fichier /html/templates/system/error.php
          - au niveau des css / textes
          - au niveau des traduction, genre:
          Code:
          <?php echo $this->error->getMessage(); ?>
          <?php echo JText::_('ERROR'); ?>
          <?php echo $this->error->getCode(); ?>
          <p><?php echo JText::_('JERROR_AN_ERROR_HAS_OCCURRED'); ?>
          <?php echo JText::_('JERROR_LAYOUT_PAGE_NOT_FOUND'); ?>
          ...
          cela me permet de garder le multilingue et le multi error (404,403,500...)

          Parlons nous de la même méthode?
          Production : Joomla! 2.5.X & Virtuemart
          Admin Tools Pro - Akeeba Backup - jlsecuremysite - AcyMailing - CK Forms - GMapFP

          Commentaire


          • #6
            Re : Error 404 (+autres) &gt;&gt; meilleurs façon de procéder ?

            Oui, mais du coup j'avais perdu de vue ton problème de multi-langue désolé.
            Je ne maîtrise pas assez le problème multi linguiste du site, en fait je pense que la solution passe en priorité par le fait de récupérer dans les structures Joomla! la langue courante à un instant donné, après rediriger vers une page correspondant à cette langue doit être un jeu d'enfant
            Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X