Variable non definie indexphp

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

  • [Problème] Variable non definie indexphp

    Bonjour à tous,
    Je suis en train de créer un site pour mon entreprise avec le Template i-rossi.
    Quand je crée mon menu et que je clic sur le lien la page s'ouvre avec une erreur dans le fichier index.php.
    La variable "contentwide" n'est pas définie.
    Malheureusement je n'ai que très peu de compétence en PHP et je ne sais pas quoi modifier.

    Pouvez vous m'aider.
    Voici le contenu du fichier. La ligne est en rouge.

    Merci d'avance pour vos réponses.

    Code:
    <?php
    
    defined('_JEXEC') or die;
    $app = JFactory::getApplication();
    ?>
    <!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; ?>" >
    
    <!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; ?>" >
    <head>
    <jdoc:include type="head" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/core.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/template.css" type="text/css" />     
    <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/cufon-yui.js" type="text/javascript"></script>
    <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/League_Gothic_400.font.js" type="text/javascript"></script>
    <script  type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jquery.easing.1.2.js"></script>
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/anythingslider.css" type="text/css" media="screen" />
    <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jquery.easing.1.2.js"></script>
    <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jquery.anythingslider.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/flow.js"></script>
    <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jcarousellite_1.0.1c4.js" type="text/javascript"></script>
    
    <script type="text/javascript">
    Cufon.replace('h2', { fontFamily: 'League Gothic'});
    Cufon.replace('#content h3', { fontFamily: 'League Gothic'});
    </script>
    
    <script type="text/javascript"><!--//--><![CDATA[//><!--
    sfHover = function() {
      var sfEls = document.getElementById(".menu").getElementsByTagName("LI");
      for (var i=0; i<sfEls.length; i++) {
        sfEls[i].onmouseover=function() {
          this.className+=" sfhover";
        }
        sfEls[i].onmouseout=function() {
          this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
        }
      }
    }
    if (window.attachEvent) window.attachEvent("onload", sfHover);
    
    //--><!]]></script>
    
    <script type="text/javascript">
        $(function () {
            $(".expander").click(function () {
                $("#mod-search-searchword").animate({           
                    width: '200px',
                    },
                   "slow"
                )
    
            });
        });
    </script>
    
    <script type="text/javascript">
    $(function () {
     $('#slider1').anythingSlider({
    width : 920,          // Override the default CSS width
    easing: 'easeInOutExpo'
    });
    });
    </script>
    <script type="text/javascript">
    $(function() {
      $("#scroller").jCarouselLite({
        vertical: true,
        hoverPause:true,
        visible: 1,
        auto:1000,
        speed:1000
      });
    });
    </script>
    
            </head>
    <?php
    $menu = & JSite::getMenu();
    if ($menu->getActive() == $menu->getDefault()) {$ishomepage=1;
    } else {$ishomepage=0;
    }
    if($this->countModules('sidebar')) : $contentwide=0;
          endif; 
    ?>
    <body<?php if ($ishomepage==1) {echo' id="home"';}?>>
    
    <?php if ($ishomepage==1) {?><?php } ?>
    <div class="container">
      <div class="top">
        <div id="logo">
          <a href="<?php echo $this->baseurl ?>">
          <img src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/images/logo.png" border="0" alt="<?php echo $app->getCfg('sitename'); ?>" />
          </a>
        </div>
        <div id="nav">
          <jdoc:include type="modules" name="menu" style="raw" />
        </div>
        <div id="search">
          <jdoc:include type="modules" name="search" style="raw" />
        </div>
    
        <div id="navSecond">
          <jdoc:include type="modules" name="secondmenu" style="raw" />
        </div>
        <div class="cleaner"></div>
        <div class="expander"></div>
      </div>
      
      <?php if ($ishomepage==1) {?><div id="header">
        <?php
        $chooseHeader=$this->params->get("chooseheader");
        
        switch ($chooseHeader)
      {
      case 0:// Shuffle at beginning
        echo '<img src="images/'.$this->params->get("myimage").'"/>';
        break;
    
      case 1: //Natural sort
          $picDir= "images/".$this->params->get("myfolder");
          $picDir .="/";
          echo '<ul id="slider1">';
          $scan = scandir($picDir);
    
          for ($i=0; $i<count($scan); $i++) {
           if ($scan[$i] != '.' && $scan[$i] != '..') {
           echo '
           <li>
             <img src="'. $picDir . $scan[$i] . '" alt="'. $scan[$i] . '" />
           </li>';
           }
          }
          echo '</ul>';
        break;
      
      case 3:// Shuffle at beginning
        echo '<jdoc:include type="modules" name="header" style="xhtml" />';
        break;
        }
    
    
    ?>
        
      </div>
      
      <div id="strip">
        <div id="whatsNew"><jdoc:include type="modules" name="whatsnew" style="xhtml" /></div>
        <div id="socialize"><jdoc:include type="modules" name="socialize" style="xhtml" /></div>
        <div class="cleaner"></div>
      </div><?php } else { ?>
      <div id="main">
     [COLOR="red"] <div id="content"<?php if ($contentwide!==0) {echo ' class="wide"';}?>>  [/COLOR]
        <jdoc:include type="message" />
        <jdoc:include type="component" />
      </div>
      <div id="sidebar">
          <jdoc:include type="modules" name="sidebar" style="xhtml" />
      </div>
      <div class="cleaner"></div>
      </div>
      <?php } ?>
      
      <div id="bottom">
        <div id="bottomLeft">
          <jdoc:include type="modules" name="footerLeft" style="xhtml" />
        <div class="cleaner"></div>
        </div>
        <div id="bottomRight"><jdoc:include type="modules" name="footerRight" style="raw" /></div>
        <div class="cleaner"></div>
      </div>
      <jdoc:include type="modules" name="debug" />
    </div>
    </body>
    </html>
    Dernière édition par Grand Schtroumpf à 28/04/2011, 13h12 Raison: balises code

  • #2
    Re : Variable non definie indexphp

    Bonjour,
    ce qui est embêtant surtout c'est que la variable n'est initialisée qu'à un endroit (et je n'ai pas vu d'include) de façon conditionnelle avec la valeur 0.
    Code PHP:
    if($this->countModules('sidebar')) : $contentwide=0;       endif; 
    Moyennant quoi le test qui plante :
    Code PHP:
    <?php if ($contentwide!==0) {echo ' class="wide"';}?>
    a toutes les chances de ne jamais se déclencher.

    Donc mes suggestions :
    1. vire ce template écrit avec les pieds et choisis-en un autre
    2. sinon essaye en virant les deux blocs que j'ai cités.

    PS : la prochaine fois que tu copie du code, mets le entre balises [code ] et [/code] (sans l'espace)
    Schtroumpfe toi le Schtroumpf t'aidera.
    Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

    Commentaire


    • #3
      Re : Variable non definie indexphp

      Merci pour l'infos.
      J'ai choisi la deuxième solutions. Virer les lignes de code

      Mon patron a bien aimé le côté dynamic du template du coup je suis un peu coincé pour le changer.

      Donc tu risques de revoir pas mal de poste venant de moi.

      Le prochain copier/coller de code je le mettrais entre balise.

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X