Personnalisation de la page d'erreur 404

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

  • #16
    Re : Personnalisation de la page d'erreur 404

    Tu peux toujours ajouter la fonctionalité :
    Code PHP:
    $model JModelLegacy::getInstance('Article''ContentModel', array('ignore_request' => true));
    // recuperer l'article 75
    $article $model->getItem('75'); 
    et t'inspirer de :
    SITEJOOMLA\com_content\views\article\tmpl\default. php

    BOn j'ai pas fait les tests, mais le principe est bon.

    P.S: a mettre dans le fichier error.php
    Il est aussi possible de vérifier la langue et utiliser un article différent selon la langue.
    Dernière édition par electrocity à 10/04/2015, 13h44
    http://www.st42.fr : Astuce et téléchargement d’extension Joomla! et virtuemart
    http://shop.st42.fr Catalogue extentions gratuit et Pro pour Virtuemart et Joomla

    Commentaire


    • #17
      Re : Personnalisation de la page d'erreur 404

      ok merci je vais regarder en ce sens.
      Expert en conception et réalisation de sites Internet 100% Joomla
      www.toonetcreation.com

      Commentaire


      • #18
        Re : Personnalisation de la page d'erreur 404

        Envoyé par electrocity Voir le message
        Tu peux toujours ajouter la fonctionalité :
        Code PHP:
        $model JModelLegacy::getInstance('Article''ContentModel', array('ignore_request' => true));
        // recuperer l'article 75
        $article $model->getItem('75'); 
        et t'inspirer de :
        SITEJOOMLA\com_content\views\article\tmpl\default. php

        BOn j'ai pas fait les tests, mais le principe est bon.

        P.S: a mettre dans le fichier error.php
        Il est aussi possible de vérifier la langue et utiliser un article différent selon la langue.
        j'ai regardé mais je ne vois pas trop comment intégrer ce code dans le fichier error.php

        voici le code actuel de ma page error.php

        Code:
        <?php
        defined('_JEXEC') or die;
        /*if (!isset($this->error)) {
                $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
                $this->debug = false;
        }*/
        
        if (($this->error->getCode()) == '404') {
                header('Location: /erreur-404');
                exit;
        }
        
        //get language and direction
        $doc = JFactory::getDocument();
        $this->language = $doc->language;
        $this->direction = $doc->direction;
        $theme = JFactory::getApplication()->getTemplate(true)->params->get('theme', '');
        ?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
        <head>
                <title><?php echo $this->error->getCode(); ?> - <?php echo $this->title; ?></title>
                <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
                <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/error.css" type="text/css" />
                <?php if($theme && is_file(T3_TEMPLATE_PATH . '/css/themes/' . $theme . '/error.css')):?>
                <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/themes/<?php echo $theme ?>/error.css" type="text/css" />
                <?php endif; ?>
                <?php
                if ($this->direction == 'rtl') : ?>
                <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/error_rtl.css" type="text/css" />
                <?php endif; ?>
        
                <meta name="viewport" content="width=device-width, initial-scale=1.0;">
                <link href='http://fonts.googleapis.com/css?family=Roboto:300' rel='stylesheet' type='text/css'>
        </head>
        <body class="page-error">
                <div class="error">
                        <div id="outline">
                                <div id="errorboxoutline">
                                        <div class="error-code"><?php
                                                $errcode = str_split($this->error->getCode());
                                                $i = 0;
                                                $lastclass='';
                                                foreach($errcode as $c){
                                $firstclass = ($i==0)?'first':'';
                                                        if($i==(count($errcode)-1)){
                                                                $lastclass='last';
                                                        }
                                                        echo '<span class="'.$lastclass.$firstclass.'">'.$c.'</span>';
                                                        $i++;
                                                }
                                                ?></div>
        
                                        <div class="error-message"><h2><?php echo $this->error->getMessage(); ?></h2></div>
        
                                        <div id="errorboxbody">
                                                <p><?php echo JText::_('JERROR_LAYOUT_PLEASE_TRY_ONE_OF_THE_FOLLOWING_PAGES'); ?></p>
                  <a class="button-home" href="<?php echo $this->baseurl; ?>/index.php" title="<?php echo JText::_('JERROR_LAYOUT_GO_TO_THE_HOME_PAGE'); ?>"><?php echo JText::_('JERROR_LAYOUT_HOME_PAGE'); ?></a>
                                        </div>
        
                                </div>
                        </div>
                </div>
        </body>
        </html>
        Expert en conception et réalisation de sites Internet 100% Joomla
        www.toonetcreation.com

        Commentaire


        • #19
          Re : Personnalisation de la page d'erreur 404

          remplacer par exemple
          Code PHP:
                                          <div id="errorboxbody">
                                                  <p><?php echo JText::_('JERROR_LAYOUT_PLEASE_TRY_ONE_OF_THE_FOLLOWING_PAGES'); ?></p>
                    <a class="button-home" href="<?php echo $this->baseurl?>/index.php" title="<?php echo JText::_('JERROR_LAYOUT_GO_TO_THE_HOME_PAGE'); ?>"><?php echo JText::_('JERROR_LAYOUT_HOME_PAGE'); ?></a>
                                          </div>
          par
          Code PHP:
          $model JModelLegacy::getInstance('Article''ContentModel', array('ignore_request' => true)); 
          // recuperer l'article 75 
          $article $model->getItem('75'); 
           echo 
          '<div id="errorboxbody">'.$article->text.'</div>' 
          http://www.st42.fr : Astuce et téléchargement d’extension Joomla! et virtuemart
          http://shop.st42.fr Catalogue extentions gratuit et Pro pour Virtuemart et Joomla

          Commentaire


          • #20
            Re : Personnalisation de la page d'erreur 404

            ok je teste et je te fais un retour.
            merci
            Expert en conception et réalisation de sites Internet 100% Joomla
            www.toonetcreation.com

            Commentaire


            • #21
              Re : Personnalisation de la page d'erreur 404

              et sur ce code tu laisserais quoi ?

              Code:
              if (!isset($this->error)) {
                      $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
                      $this->debug = false;
              }
              ou

              Code:
              if (($this->error->getCode()) == '404') {
                      header('Location: /erreur-404');
                      exit;
              }
              Expert en conception et réalisation de sites Internet 100% Joomla
              www.toonetcreation.com

              Commentaire


              • #22
                Re : Personnalisation de la page d'erreur 404

                bon j'ai résolu le soucis en trouvant cette astuce.

                remplacer tout le contenu du fichier error.php du template par le code ci-dessous :

                Code:
                <?php
                // no direct access
                defined( '_JEXEC' ) or die( 'Restricted access' );
                
                /* Custom Error Page Mod Code */
                $urlLink=JURI::base()."/index.php?option=com_content&view=article&id=157";
                $timeout=120;
                $CR = curl_init();
                curl_setopt($CR, CURLOPT_URL, "$urlLink");
                curl_setopt($CR, CURLOPT_CONNECTTIMEOUT, $timeout);
                curl_setopt($CR, CURLOPT_TIMEOUT, $timeout);
                $response = curl_exec($CR);
                curl_close( $CR );
                $CR=explode("</html>",$CR);
                echo $CR[1]."</html>";
                ?>
                le code http renvoyé est bien 404 Not Found maintenant.

                Merci à tous.
                Dernière édition par Tortue Genial 69 à 11/04/2015, 09h07
                Expert en conception et réalisation de sites Internet 100% Joomla
                www.toonetcreation.com

                Commentaire


                • #23
                  Re : Personnalisation de la page d'erreur 404

                  Oui, si il faut tout les menus cela fonctionne. Cela dépend de ce qu'on a besoin au final
                  Mais un
                  Code PHP:
                   echo file_get_contents(JURI::base()."/index.php?option=com_content&view=article&id=157"); 
                  fonctionne aussi.
                  http://www.st42.fr : Astuce et téléchargement d’extension Joomla! et virtuemart
                  http://shop.st42.fr Catalogue extentions gratuit et Pro pour Virtuemart et Joomla

                  Commentaire


                  • #24
                    Re : Personnalisation de la page d'erreur 404

                    ok bien noté merci, pour ton retour ;-)
                    en effet dans mon cas c'est sur tous les menus donc ca va.
                    Expert en conception et réalisation de sites Internet 100% Joomla
                    www.toonetcreation.com

                    Commentaire


                    • #25
                      Re : Personnalisation de la page d'erreur 404

                      [INFO]
                      Un article récent sur le sujet :

                      Creating a custom error page for your Joomla site - The Blog
                      I've decided that it was time to improve some parts of our site. I had a look at the Redirect component in Joomla and unfortunately people are landing way too often on 404 not found page. And often there is no redirect that I can make. The resource no longer exist on our site and the user has to see a 404 page. Sadly for the past few years he was p...
                      Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                      Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                      Commentaire


                      • #26
                        Re : Personnalisation de la page d'erreur 404

                        Merci je vais y jeter un oeil.
                        Expert en conception et réalisation de sites Internet 100% Joomla
                        www.toonetcreation.com

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X