Forums Développement Multimédia

Aller au contenu

Récupération nom d'un calque dans Url

CMS Silex

3 réponses à ce sujet

#1 ben451362

    Ceinture Jaune

  • Members
  • PipPip
  • 23 messages

Posté 14 April 2011 - 14:47 PM

Bonjour tout le monde, c'est encore moi >_<.

Mon problème => j'aurai aimé récupéré le nom du calque sur lequel je suis lorsque je navigue sur mon site. En fait, il s'agit d'un menu personnalisé avec une barre qui bouge en fonction d'où est placé le curseur (jusque là, tout va bien). Ensuite, dès que je clique, la barre reste bien sur l'onglet,jusque là normal. Sauf que lorsque j'actualise ma page, la barre se remet sous le premier onglet (gênant ...). J'ai constaté, dans le fichier .fla de mon menu que par défaut, la barre se met sous le premier onglet.

Justement, j'aurai aimé gérer ceci, notamment avec ceci :
_global.getSilex().interpreter.exec.[je ne sais pas quoi mettre]

J'ai regardé sur l'API, et j'ai essayé avec :
if(_global.getSilex().interpreter.exec("openUrl:this", this) == "page2")

Mais ça ne marche pas. Ma syntaxe est mauvaise, mais je n'arrive à comprendre celle indiquée sur l'API...

Quelqu'un sait comment récupéré l'instance du calque en cours???

#2 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 14 April 2011 - 16:07 PM

Voir le messageben451362, le 14 April 2011 - 14:47 PM, dit :

j'aurai aimé récupéré le nom du calque sur lequel je suis lorsque je navigue sur mon site.

Justement, j'aurai aimé gérer ceci, notamment avec ceci :
_global.getSilex().interpreter.exec.[je ne sais pas quoi mettre]

J'ai regardé sur l'API, et j'ai essayé avec :
if(_global.getSilex().interpreter.exec("openUrl:this", this) == "page2")
Comme le dit la doc technique sur l'interpreteur, en ActionScript, dans un swf posé sur ta scène Silex, tu peux executer des commandes Silex avec

Action Script

_global.getSilex().interpreter.exec("ma commande Silex",this);


Cependant, ce que tu veux c'est récupérer la valeur d'une des propriétés d'une classe de l'API. Donc je pense que ça va être un truc comme

Action Script

if(_global.getSilex().deeplink.currentPath == "start/xxx/page2")


Ou un truc dans le style. Ou bien tu peux utiliser _global.getSilex().deeplink.currentPageTitle

Ou plutot, _global.getSilex().deeplink.deeplink_array qui devrait contenir touts les noms de calques. Genre

Action Script

var layerName:String = _global.getSilex().deeplink.deeplink_array[_global.getSilex().deeplink.deeplink_array.length - 1];
if(layerName == "page2")
{
...


Regarde la doc du deeplink dans la doc technique de l'API AS2 de Silex

Pour info, pour le php, l'as3, le flex, il y a d'autres docs techniques

#3 ben451362

    Ceinture Jaune

  • Members
  • PipPip
  • 23 messages

Posté 15 April 2011 - 08:10 AM

Merci _lex !!!!! Comme d'habitude, une réponse rapide et super claire. Je m'empresse de tester ça de suite!!!!
Merci encore!!!!

#4 ben451362

    Ceinture Jaune

  • Members
  • PipPip
  • 23 messages

Posté 15 April 2011 - 11:06 AM

Re-bonjour,

Je n'ai réussi à faire fonctionner que la dernière méthode que tu m'as indiqué.

Dans mon code .fla, j'ai donc fais ceci :

var layerName:String = _global.getSilex().deeplink.deeplink_array[_global.getSilex().deeplink.deeplink_array.length - 1];
switch(layerName)
{
case "pole_ecolo" :
selectedButton = 1;
break;
case "acteurs" :
selectedButton = 2;
break;
case "engagements" :
selectedButton = 3;
break;
case "visite_page_principale" :
selectedButton = 4;
break;
case "visite_en_photo" :
selectedButton = 4;
break;
case "visite_en_video" :
selectedButton = 4;
break;
case "contact" :
selectedButton = 5;
break;
}

et ça roule IM-PE-CCA-BLE.

Merci encore pour tes renseignements.

Cordialement.



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)