Sous Windows (et Mac je crois), quand on met un WMODE transparent sur les objets flash, il est possible de gérer les z-index et ainsi d’éviter que le flash viennent recouvrir la navigation DHTML. Ceci ne marche pas sous Linux et de nombreux sujets (hors Magento) traitent de ce problème et apportent des solutions. Voir un lien ci-après.
Mais mes compétences me bloquent bien que je soit sûr d’avoir les bonnes fondations dans mon code !
Merci d’avance pour votre aide à m’aider à combiner ces infos pour en faire quelquechose qui fonctionne.
En bonus : une fois que çà marchera, je ferai un petit tuto PDF donnant la méthode pour appeler des flash pour, par exemple, remplacer le zoom standard de Magento (ou autres “callouts") pour ceux qui le désirent et, au mieux, quelque soit l’environnement de l’internaute visiteur.
Thanks all !
_________________
1. J’ai un .js stocké dans mon dossier skin/.../js que j’ai bien appelé via la page.xml en ajoutant ce code :
2. J’ai modifié le fichier catalog/product/view/media.html comme suit qui a pour but d’appeler la fonction zoom() avec différentes variables qui sont ensuite passées en flashVars :
/ ** * Product media data template * * @see Mage_Catalog_Block_Product_View_Media */ ?> <?php $_product = $this->getProduct() ?>
J’ai eu ce problème. C’est dû à un bug de flash sous Linux je crois.
Et je n’ai jamais trouvé de solution, sinon d’utiliser une image dans le cas d’un navigateur firefox sous linux :-(
Dans mon cas, ce n’était qu’une animation, ce n’était pas fonctionnel.
Les explications du hack sont les suivantes. Il faut ajouter un iframe au dessus du flash (zindex=5) et en dessous du div de navigation que tu veux afficher (zindex=10).
Au chargement de la page, l’iframe ne doit pas être affiché (display: none). Puis, à l’aide de javascript, il faut qu’il soit affiché :
Attention, il faut que l’iframe ait exactement la taille du div de navigation.
Dans ton cas, il faudrait que cet iframe soit masqué quand ta navigation est masquée et affiché quand ta navigation est affichée.
Ça fonctionne bien si ton div de navigation est rectangulaire car ton iframe masquera la portion de flash qu’elle recouvre, et un iframe est forcément rectangulaire.
Dans mon cas, j’avais des bouts d’animation flash qui n’étaient pas rectangulaires et donc je ne pouvais pas utiliser ce hack.
Hey, j’avais pas vu ta réponse. Merci. Je m’y replongerai quand il n’y aura pas que Dell qui propose des ordi “mainstream” avec du Linux en standard...apparemment çà va changer avec les nouvelles lois sur l’économie numérique…
Après avoir regardé beaucoup de choses pour incorporer du flash : 1 seule solution le swfobject !
Gratuit et génial = 0 incompatibilité et en plus les menus passent au dessus du flash.
Enfin avec express install on a le User (aussi appelé Client) qui a son flash upgradé sans rien faire et la page est rechargée toute seule.
Parce que pour beaucoup de nos clients “Votre flash n’est pas à jour” = électro-encéphalogramme plat.
Je vous passe le code de notre excellent site sur Magento qui fait tout cela.
Merci SwfObject ! Adieu les “embed” and all other bad stuff....
----------------------------
<script type="text/javascript" src="swfobject.js"></script>
<div id="dummy-vision">Votre version de Navigateur ou de Flash n’est pas compatible. <br />Votre Flash va être mis à jour</a></div>
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("http://www.VOTRESITE.com/dummy/dummy.swf", “sotester”, “500”, “500”, “7”, “#ffffff");
so.addParam("wmode", “transparent");
so.useExpressInstall("http://www.VOTRESITE.com/dummy/expressinstall.swf");
so.addVariable("xmlfile1", “http://www.VOTRESITE.com/dummy/dummy.xml"); (SI VOUS AVEZ UN XML...)
so.write("dummy-vision");
// ]]>
</script>
-----------------------------
Ne pas oublier de modifier : app/frontend/design/VOTRESTYLE/default/layout/page.xml pour appeler le swfobject :
<action method="addJs"><script>VOTREDOMAINE/dummy/swfobject.js</script></action>
et de mettre le swfobject dans le répertoire décrit dans action method.