Flash et magento, importer un SWF

octobre 9, 2009 8 Commentaires

Importer un fichier Flash dans magento est utile pour animer sa boutique. Des extensions existent. Dans ce tutoriel, nous allons voir comment importer manuellement  un fichier flash sur la page accueil. L’import du swf se fera avec la méthode recommandée par adobe SWFoject.js

Les prérequis : swfobject.js, un fichier swf, pour notre tutoriel => flash.swf, un phtml home-haut

Import du fichier flash SWF

  1. Placez le fichier swfobject dans le dossier magento/js/flash, et votre fichier flash.swf dans media/upload/flash/
  2. Placez le fichier home-haut.phtml dans le dossier app\design\frontend\default\default\template\homepage
  3. Importez le fichier swfobject.js, ouvrez le fichier page.xml de votre thème dans la balise
    <block type="page/html_head" name="head" as="head">
    inserer
    <action method="addJs"><script>flash/swfobject.js</script></action>
  4. Dans le contenu de la page d’accueil (c’est une page CMS), importez un phtml grâce à ce code
    {{block type=core/template template=homepage/home-haut.phtml}}
  5. Dans le phtml home-haut.phtml placez ce code
    <script type="text/javascript">
    swfobject.embedSWF("<?php echo Mage :: getBaseUrl ( Mage_Core_Model_Store::URL_TYPE_WEB ); ?>media/upload/flash/test.swf", "myContent", "300", "120", "9.0.0");
    </script>

    myContent étant l’id de la div où le flash sera  inséré, 300 la largeur 120 la hauteur et 9.0.0 la version du player flash.

  6. Dans le fichier home-haut.phtml mettez :
    <div id="myContent" style="text-align:center;">
    </div>

Détection du player flash

Vous pouvez également mettre le code ci-dessous pour détecter la présence du player flash et rediriger l’internaute vers le site adobe pour le télécharger.

<a href="http://www.adobe.com/go/getflashplayer" target="_blank"><img src="http://www.adobe.com/macromedia/style_guide/images/160x41_Get_Flash_Player.jpg" alt="" /></a>
 
vous avez besoin du player flash
 
 installez la dernière version du player flash <a href="http://www.adobe.com/go/getflashplayer" target="_blank">here</a>
 
Vous avez besoin du player flash
 
 <a href="http://www.adobe.com/go/getflashplayer" target="_blank">here</a>

Player flash adobe

flash swfObejct

Design
8 commentaires : “Flash et magento, importer un SWF”
  1. Ludo, dit :

    salut
    pourquoi tu as mis
    swfobject.embedSWF(« media/upload/flash/test.swf », « myContent », « 300″, « 120″, « 9.0.0″);
    je comprends pas ce passage Mage::getBaseUrl ( Mage_Core_Model_Store::URL_TYPE_WEB ); c’est pas du flash ça ?
    Autre question on peut attacher du XML au fichier swf ?
    merci

  2. admin dit :

    Salut Ludo,

    C’est pas du flash non mais du code magento, tu es sur un blog magento là ^^.
    C’est le chemin vers lequel magento ira cherche ton fichier flash swf.
    Je te renvois sur ce tuto sur les url
    http://bloggento.fr/article-sur-la-partie-programmation-de-magento-/31

    Oui tu peux attacher un fichier XML au swf c’est le même principe que dans un site classique tu places un dossier XMl dans ton swf tu le charge. Je sais faire un AS3.

  3. cédric rousset dit :

    Merci Cédric pour votre aide,

    J’ai suivi toutes les étapes pour utiliser swfobjets

    1- swfobjets.js
    2- création de html-head.phtml
    3- ajouter block au contenu de la home page
    Résultat : l’exemple marche très bien.

    Sauf que lorsque je change l’animation test.swf par ma animation rien ne s’affiche
    J’ai passé beaucoup de temps mais malheureusement

    - information : j’ai une animation flash flash.swf galerie fichier xml contient url vers les images du galerie.

    merci de m’expliquer plus

  4. cédric rousset dit :

    re ^^
    Si tu as changé le nom du fichier flash test.swf il faut également le changer dans le code
    swfobject.embedSWF(« < ?php echo Mage :: getBaseUrl ( Mage_Core_Model_Store::URL_TYPE_WEB ); ?>media/upload/flash/flash.swf », « myContent », « 300″, « 120″, « 9.0.0″);

  5. hamzaensi dit :

    RE
    merci cédric

    oui j’ai changé le nom du fichier par flash.swf

    dans l’affiche la place de l’animation est réservé sauf que elle est toujour vide !!!

    je pense qu’il y a un problème spécifique

    merci

  6. cédric rousset dit :

    Salut hamzaensi
    c’est surement ton fichier flash qui ne trouve pas les fichiers XML. Tu as placé les fichiers XML dans le même dossier magento que le swf ? Ou dans un dossier parent. Il faut que tu respectes le chemin ou ton swf va chercher les XML.

  7. hamzaensi dit :

    oui je suis sur que les chemins sont correctes vers les fichier xml , d’ailleurs ça marche bien si je lance l’animation flash.swf (chemin absolu ) dans le navigateur !!

    J’ai essayé d’includer dans le .phtml avec la balise <iframe … une page .html dans la quelle j’ai mis le code :

    Flash

    Ça marche très bien !!

    Mais lorsque j’utilise ce code :

    swfobject.embedSWF(« media/upload/flash/flash.swf », « myContent », « 300″, « 120″, « 9.0.0″);

    Rien ne s’affiche !!! je ne sais pas pourquoi !!!

  8. hamzaensi dit :

    code page .html

    Flash

Poster un commentaire

(obligatoire)

(obligatoire)