2009-07-22 5 views
1

Je fais un vrai cauchemar en essayant de faire ce qui devrait être une tâche très simple. Si j'intègre un fichier SWF statique ou indépendant, il s'affiche correctement sur notre site Web alimenté par ModX. Cependant, quand il s'agit d'un fichier SWF dynamique (qui fait référence à un fichier XML et à des fichiers image, etc.), je n'arrive tout simplement pas à le faire apparaître. Selon le programme Flash Menu que j'ai-je coller le code suivant dans la partie de tête de la page:Comment puis-je insérer un fichier SWF dynamique dans une page Web basée sur ModX?

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

(avec les fichiers placés dans le répertoire racine bien sûr), puis dans la section BODY je devrais Collez ceci:

<!-- Flash Menu Labs – www.flashmenulabs.com --> 
<div id="FlashMenuLabs" style="position:absolute; top:0px; padding-left:0px; z-index:0;"> 
    You need to upgrade your Flash Player or to allow javascript to enable Website menu. </br> 
    <a href="http://www.adobe.com/go/getflashplayer">Get Flash Player</a>    
</div> 
< script type="text/javascript"> 
// <![CDATA[ 
    var so = new SWFObject("menu.swf", "menu", "185", "440", "8", "#000000"); 
    so.addVariable("page _ code", "a _ b _ c"); 

    so.addParam("wmode", "transparent"); 
    so.addParam("scale", "noscale"); 
    so.addParam("salign", "TL"); 
    so.write("FlashMenuLabs"); 
// ]]> 
</script> 

Cela ne fonctionne pas. Les fichiers sont dans un dossier appelé icpmenu_es (un sous-dossier de flash), où est référencé le menu.swf. Les fichiers dépendants (y compris les fichiers XML, PNG et SWF) se trouvent dans un sous-dossier appelé menu_data. Il y a deux fichiers XML: open_menu_data.xml et menu_data.xml et je ne peux pas éditer ce dernier.
J'ai essayé la route <EMBED> ici:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="185" height="440"> <param name="base" value="http://www.ideal-country-property.com/"> <param name="movie" value="/flash/icpmenu_es/menu.swf"> <param name="id" value="ICPmenuES"> <param name="menu" value="false"> <param name="slalign" value="tl"> <param name="quality" value="high"> <param name="wmode" value="transparent"> <param name="scale" value="noscale"> <embed src="/flash/icpmenu_es/menu.swf" menu="false" quality="high" wmode="transparent" scale="noscale" width=185 height=440 type="application/x-shockwave-flash" id="ICPmenuES" salign="tl" base="http://www.ideal-country-property.com/" pluginspace="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"> </embed> </object>` 

qui ne fonctionne pas non plus. Si quelqu'un peut m'aider dans la bonne direction, je serais très reconnaissant. Sur d'autres forums, j'ai vu des gens se référer à l'édition de la référence au XML dans le fichier SWF, mais je ne vois pas où faire cela. Être un programmeur débutant n'aide pas beaucoup non plus!

+0

Grâce à l'aide du groupe SWFObject de Google, j'ai trouvé la racine du problème. Dans ModX, nous devons mettre dans le champ "alias du document" (sous l'onglet "Général" le nom de la page plus un "_en" ou "_es" selon que la page est en anglais ou en espagnol, ce qui crée un alias Dans ce cas, l'alias de ma page de test est "test_es", ce qui produit un lien de http://www.ideal-country-property.com/es/test Lorsque vous insérez le code SWF, le Le fichier SWF trouve les fichiers JS OK mais essaie de trouver les fichiers XML dans un dossier appelé "ES", qui n'existe pas – Stoffer

+0

Par ailleurs, vous pouvez suivre l'historique de ceci dans Google Groupes: http: // groups .Google.com/group/swfobject/browse_thread/thread/6bc280b258e4ecff/3b661c1ae996afd1 # 3b661c1ae996afd1 Notre fournisseur de services Internet, qui fournit également notre logiciel de configuration immobilière ModX comme celui-ci (comme avec tous leurs clients immobiliers), donc je ne veux pas vraiment jouer avec elle trop. J'ai juste besoin d'un moyen pour le SWF d'accéder au fichier XML correctement et ne pas le chercher dans un dossier virtuel "ES". J'espère que c'est clair. À la vôtre. Chris. – Stoffer

Répondre

0

Les chemins d'accès au flash peuvent devenir très délicats. Les chemins d'accès Flash sont relatifs au code HTML où le fichier .swf est appelé, et non à l'emplacement du fichier .swf. Donc, si vous êtes dans un .html comme:

misite.com/news/article.html et j'appelle un .swf ici en utilisant « /anotherfolderinroot/test.swf » votre chemin relatif à l'intérieur du .swf est encore misite.com/news/

donc, le chargement d'un film ou xml sans chemins absolus à l'intérieur du .swf, par exemple flash « data.xml » sera à la recherche misite.com/news/data.xml

Faites attention en utilisant le chemin absolu avec les noms de domaine inclus dans l'appel .html comme "http://www.mydomain.com/media/mymovie.swf" qui peut déclencher des avertissements de sécurité Flash et ne pas être en mesure de charger des fichiers lors de l'accès à l'URL sans www comme "http://misite.com/news/article.html" un annulez ceci pendant que vous le pouvez.

Espérons que ça aide.

+0

Merci Pablo. Cela a fait l'affaire. Tu es une star. Saludos. – Stoffer

0

Avez-vous accès aux journaux Apache? J'ai rencontré des problèmes dans le passé où, si modx n'est pas satisfait des permissions de fichier/dossier (si elles sont inscriptibles par groupe par exemple) alors il n'affichera pas certains contenus et seuls les logs d'Apache donnent un aperçu de ce .

+0

Je suis désolé, je ne le fais pas. Notre fournisseur d'accès est assez strict quand il s'agit de me laisser avoir accès à Apache. – Stoffer

+0

En fait, depuis que j'ai posté ceci, j'ai trouvé le problème mais je ne vois pas de solution. Le problème est avec les chemins d'accès au fichier SWF et aux fichiers JS. Pour que cela fonctionne, je dois mettre un ' href = "http://www.ideal-country-property.com/icpmenu_es/" "dans la section HEAD avant que cela ne fonctionne. Le problème est que notre site a d'autres scripts en cours d'exécution dans d'autres emplacements, donc je ne peux pas définir la BASE à ce répertoire spécifique où se trouve le "menu.swf". Ce que je ne comprends pas, c'est pourquoi l'insertion d'un chemin relatif dans le CDATA ne fonctionne pas. Y a-t-il un code spécial à insérer? – Stoffer

Questions connexes