Salut,


Je m'exerce depuis peu au développement Web et surtout au CSS.
Ma page d'accueil est séparée en trois parties, header, contents et footer, trois DIV.
J'utilise la galerie Flash AutoViewer qui fonctionne plutôt bien mais depuis qui, depuis l'abandon des frames au profit du couple CSS/DIV, ne s'affiche plus.

Voici mon code :

<?php
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"';
echo '"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">';
echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >';
echo '<head>';
echo '<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />';
echo '<title> A CSS Frame Layout </title>';
echo '<link rel="stylesheet" type="text/css" href="styles.css" />';
echo '</head>';
echo '<body>';
echo '<div id="header">';
echo '<h1 align="center">Voyages</h1>';
echo '<center><a href="http://www.domain.com/index.php?page=USA2008">USA 2008</a> - <a href="http://www.domain.com/index.php?page=Ecosse2008">Ecosse 2008</a></center>';
echo '</div>';
echo '<div id="contents">';
if (!isset($_GET['page'])) $page= 'accueil';
switch($page)
{
case 'USA2008': include ('./Galleries/Ecosse_2008/index.html');break;
case 'Ecosse2008': include ('./Galleries/Ecosse_2008/index.html');break;
}
echo '</div>';
echo '<div id="footer">';
echo '<h3>This is the FOOTER area</h3>';
echo '</div>';
echo '</body>';
echo '</html>';
?>


Voilà, lorsque je clique sur l'un de mes liens, j'ai bien l'affiche de la DIV contents qui bouge mais j'ai un beau 'Get Flash here' qui s'affiche au lieu de ma galerie.

Est-ce normal ? Peut-on inclure une galerie flash dans un DIV ?
Je m'y prends peut être (sûrement Smiley lol ) mal pour appeler ma galerie.
Le code PHP que tu as mis ne nous aide pas du tout à comprendre ton problème.

Peux-tu nous donner le URL de ton site ou nous donner le code "final" que ton PHP génère car pour le moment, on ne voit pas ton div, ni l'élément flash dont tu parles.

Merci de nous aider à t'aider.
La première étape, et j'imagine que ça réglera ton problème, c'est d'inclure correctement ton fichier swfobject.js

Voici l'erreur javascript que j'obtiens.


SWFObject is not defined
 http://www.nuxgen.com/index.php?page=USA2008
 
Line 35


<script src="swfobject.js" type="text/javascript"></script>


Si je me fie à ça, le URL de ton script serait http://www.nuxgen.com/swfobject.js et visiblement, il y a un problème. Donc, assure toi de bien inclure le fichier et après on verra si ça cause toujours un problème.
Modifié par Sorano (02 Feb 2010 - 18:13)
En fait, je pensais (bêtement) qu'en pointant le répertoire d'une de mes galeries, qui contient un index.html, je parviendrais à afficher la galerie comme c'était le cas lorsque j'utilisais des frames.
Le fichier swfoject.js est inclus mais dans l'index.html du répertoire de ma galerie.
Je suis pas certain d'avoir compris ton explication mais néanmoins, tu devrais mettre un chemin relatif à ton fichier "conteneur". Tu feras signe aussi à savoir si ça règle ton problème ou pas.

J'ignore ta structure de document mais logiquement, tu pourrais avoir un truc comme ceci.


monsite
    scripts
        swfobject.js
    images
        body.jpg
        menu.gif
    css
        mafeuille.css
    galeries
        ecosse.html
        usa.html

    
    index.php


Dans le <head> de ton fichier index.php, tu n'aurais qu'à inclure le fichier javascript de cette façon.

<script src="scripts/swfobject.js" type="text/javascript"></script>



Au fait, pourquoi fais-tu des echo de ligne html ? Ce serait bien mieux de la façon suivante, à mon avis du moins.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<title>A CSS Frame Layout</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<div id="header">
  <h1>Voyages</h1>
    <a href="http://www.domain.com/index.php?page=USA2008">USA 2008</a> - <a href="http://www.domain.com/index.php?page=Ecosse2008">Ecosse 2008</a>
</div>
<div id="contents"> 
<?php 
if (!isset($_GET['page'])){
		$page= 'accueil';
	}
  switch($page){
      case 'USA2008': include ('./Galleries/Ecosse_2008/index.html');break;
      case 'Ecosse2008': include ('./Galleries/Ecosse_2008/index.html');break;
  } 
?>
  </div>
<div id="footer">
  <h3>This is the FOOTER area</h3>
</div>
</body>
</html>


J'ai aussi enlevé la balise <center> et l'attribut align="center" qui sont obsolètes en remplaçant par ceci.


#header { text-align: center }

Modifié par Sorano (02 Feb 2010 - 19:45)
Salut,

Merci de vous pencher sur mon problème.
Voici l'arborescence de mon "site" :


monsite 
    styles.css 
    galeries
        usa_2008
             images
             autoviewer.swf
             gallery.xml
             index.html
             swfobject.js
        ecosse_2008
             images
             autoviewer.swf
             gallery.xml
             index.html
             swfobject.js
    index.htm


Les galeries sont stockées dans des répertoires car elles dépendent de certains fichiers de configuration (Comme gallery.xml où sont stockés les chemins des images).

Pour les echo, au départ j'avais fait ce que tu as posté mais le code PHP n'était pas pris en compte, logique, je n'avais pas modifié l'extension du fichier index... (Boulet Attitude)
Modifié par jaymzwise (03 Feb 2010 - 11:56)