Partage
  • Partager sur Facebook
  • Partager sur Twitter

Menu en Onglets

Popups

Sujet résolu
    8 janvier 2009 à 23:40:21

    Bonjour, bonsoir,
    J'ai suivi le tutorial de Xavinou sur le SDZ concernant la réalisation d'un menu en onglets.
    Cela marche parfaitement et je t'en remercie :)
    Toutefois, je voudrai réaliser quelque chose de particulier :
    Comment faire pour, lorsqu'on clique sur un lien de ce menu ( exemple : forum ), la fenêtre demandée s'ouvre dans une autre fenêtre ( Utilisation d'un <a onclick="window.open(this.href,'', 'height=500 , width=500 , location=yes , scrollbars=yes');return false;"> en HTML )
    Or ici je ne possède que le code suivant :
    <?php
    function affiche_menu()
        {
            // tableaux contenant les liens d'accès et le texte à afficher
    	$tab_menu_lien = array( "index.php", "membres.php", "soirees.php", "equipe.php", "forum.php", "projets.php", "inscription.php" );
    	$tab_menu_texte = array( "Accueil", "Les membres", "Soirées", "Evenements", "Forum", "Projets", "Inscription" );
    ETC....
    


    Autrement dit, lorsque je clique sur forum dans le menu, un popup s'ouvre avec l'ouverture du forum dans une auter fenêtre.
    Cordialement et Merci d'avance.
    Dr Duck
    • Partager sur Facebook
    • Partager sur Twitter
      9 janvier 2009 à 9:29:25

      Bonjour,

      Ca ressemble plus à un problème en PHP qu'en HTML.
      Tu devrais contacter un modérateur pour qu'il déplace ton message dans la bonne section. ;)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        9 janvier 2009 à 11:57:10

        Ce code fait ce que tu souhaites :

        <a href="#" onClick="window.open('pageaouvrirenpopup.html','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=300, height=200');return(false)">Texte du lien</a>
        
        • Partager sur Facebook
        • Partager sur Twitter
          9 janvier 2009 à 12:11:57

          Je suis conscient : il faut déplacer mon topic en php section.
          Merci Spaarklegamer e ta réponse, mais je ne peux pas placer ce bout de code dans un tableau o_O
          Je dois mettre ce code dans $tab_menu_lien...
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            9 janvier 2009 à 12:15:23

            Essaie comme ça :

            $tab_menu_lien = array("<a href=\"#\" onClick=\"window.open('pageaouvrirenpopup.html','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=300, height=200');return(false)\">Texte du lien</a>
            ");
            
            • Partager sur Facebook
            • Partager sur Twitter
              10 janvier 2009 à 1:50:14

              Tout d'abord, Merci pour cette réponse.
              Cela marche " au 3/4 "...
              En effet, lorsque j'applique votre code, il y a un bizarre "> qui est venu s'appliquer en dessous du menu, comme le montre ce screen :
              http://img66.imageshack.us/my.php?image=capture1sd7.png
              Voici le code utilisé :
              <?php
                  function affiche_menu()
                  {
                      // tableaux contenant les liens d'accès et le texte à afficher
              	$tab_menu_lien = array( "index.php", "membres.php", "soirees.php", "equipe.php", "<a href=\"#\" onClick=\"window.open('phpBB3/index.php','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=300, height=200');return(false)\">Forum</a>", "projets.php", "inscription.php" );
              	$tab_menu_texte = array( "Accueil", "Les Potos", "Soirées", "Evenements","","Projets", "Inscription" );
              	
              
              	// informations sur la page
              	$info = pathinfo($_SERVER['PHP_SELF']);
              
              	$menu = '';
              	
              	$menu .= '
              	<div id="menu">
                          <ul id="onglets">
              	    ';
              
              	// boucle qui parcours les deux tableaux
              	for($ind_menu = 0; $ind_menu < count($tab_menu_lien); $ind_menu++)
              	{
              	    $menu .= 
              	    '    <li';
              		
              	    // si le nom du fichier correspond à celui pointé par l'indice, alors on l'active
              	    if( $info['basename'] == $tab_menu_lien[$ind_menu] )
              	        $menu .= ' class="active"';
              		
              	    $menu .= '><a href="' . $tab_menu_lien[$ind_menu] . '">' . $tab_menu_texte[$ind_menu] . '</a></li>
              	    ';
              	}
              	
              	$menu .= 
              	'</ul>
              	</div>';
              	
                      // on renvoie le code xHTML
              	return $menu;	
              }
              ?>
              


              En enlevant le "> ( cf : image dessous ), le lien marche parfaitement, mais forcément aucun autre.
              http://img83.imageshack.us/my.php?image=capture2qv2.png
              Merci d'avance pour voter réponse, car là j'ai pas mal de mal.
              Cordialement.
              Dr Duck

              • Partager sur Facebook
              • Partager sur Twitter
                10 janvier 2009 à 2:12:01

                Y'a une erreur dans la premiere images... C'est marquer "potos"... ^^

                TGF, :magicien:
                • Partager sur Facebook
                • Partager sur Twitter
                  10 janvier 2009 à 2:20:42

                  Citation : TheGreatFalcon

                  Y'a une erreur dans la premiere images... C'est marquer "potos"... ^^

                  TGF, :magicien:


                  des images ? Il y des fautes dans ta phrase :p
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 janvier 2009 à 11:16:18

                    Ba c'est normal.
                    Le texte " Les Potos " correspond tout simplement à la page membres.php
                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 janvier 2009 à 9:40:43

                      ?
                      Un peu d'aide là svp....
                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 janvier 2009 à 11:55:57

                        Il ne faut pas que tu mettes ton lien entier dans le code sinon tu vas imbriquer le code du lien dans ton href.
                        Tu peux essayer comme ceci :
                        <?php
                        $tab_menu_lien = array( "index.php", "membres.php", "soirees.php", "equipe.php", "javascript:onClick=window.open('fichier.html');", "projets.php", "inscription.php" );
                        $tab_menu_texte = array( "Accueil", "Les Potos", "Soirées", "Evenements","Forum","Projets", "Inscription" );
                        ?>
                        


                        Je ne suis pas sur du JS dans onclick, vois dans le forum JS, en fait il faudrait que tu inséres ton JS dans le href du lien.

                        Sinon il faut revoir le php.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 janvier 2009 à 18:52:00

                          Merci pour ta réponse.
                          Hélas cela ne fonctionne pas ( il m'ouvre un autre onglet ( et non fenetre ) et, de plus, il y a un message sur la page source indiquant " [object Window] "
                          J'ai demandé le déplacement de mon sujet en section Javascript, car je pense que ça sera dans cette section que ce topic sera le plus adapté.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 janvier 2009 à 19:19:51

                            Merci pour le déplacement.
                            Alors mon problème est tel que :
                            Je sais comment ouvrir un lien dans une nouvelle fenêtre en Javascript ( onclick=windows.open etc... ).
                            Or ici je suis dans une fonction permettant de réaliser mon menu.
                            Hélas, le lien que je désire ouvrir en Popup se trouve dans un tableau que je parcoure par la suite. Et c'est dans ce tableau que je ne sais pas comment faire mon popup.
                            On m'a conseillé de mettre
                            javascript:onClick=window.open('fichier.html');
                            
                            Mais ce code ne fonctionne pas ( ouverture dans un nouvel onglet + message d'erreur sur page source )
                            Je vous (re)met ici le code de ma fonction :
                            <?php
                                function affiche_menu()
                                {
                                    // tableaux contenant les liens d'accès et le texte à afficher
                            	$tab_menu_lien = array( "index.php", "membres.php", "soirees.php", "equipe.php", "javascript:onClick=window.open('phpBB3/index.php');", "projets.php", "inscription.php" );
                            	$tab_menu_texte = array( "Accueil", "Les Potos", "Soirées", "Evenements","Forum","Projets", "Inscription" );
                            	//<a href=\"#\" onClick=\"window.open('lien.html','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=300, height=200');return(false)\">Forum</a>
                            
                            	// informations sur la page
                            	$info = pathinfo($_SERVER['PHP_SELF']);
                            
                            	$menu = '';
                            	
                            	$menu .= '
                            	<div id="menu">
                                        <ul id="onglets">
                            	    ';
                            
                            	// boucle qui parcours les deux tableaux
                            	for($ind_menu = 0; $ind_menu < count($tab_menu_lien); $ind_menu++)
                            	{
                            	    $menu .= 
                            	    '    <li';
                            		
                            	    // si le nom du fichier correspond à celui pointé par l'indice, alors on l'active
                            	    if( $info['basename'] == $tab_menu_lien[$ind_menu] )
                            	        $menu .= ' class="active"';
                            		
                            	    $menu .= '><a href="' . $tab_menu_lien[$ind_menu] . '">' . $tab_menu_texte[$ind_menu] . '</a></li>
                            	    ';
                            	}
                            	
                            	$menu .= 
                            	'</ul>
                            	</div>';
                            	
                                    // on renvoie le code xHTML
                            	return $menu;	
                            }
                            ?>
                            


                            A noter que c'est la page index.php présente dans le dossier phpBB3 que je désire ouvrir en Popup.
                            Cordialement et merci d'avance.
                            Dr Duck
                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 janvier 2009 à 19:21:13

                              En même temps c'est normal ; quand tu fais <a href="' . $tab_menu_lien[$ind_menu] . '">, à un moment tu as un lien imbriqué dans un autre lien vu que tu as mis un "<a href=[...]" dans ton array. Mets le juste quelque part d'autre, ou fais ça avec une condition.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                11 janvier 2009 à 19:54:29

                                Certes.
                                Mais où mettre cette balise <a></a> ?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  11 janvier 2009 à 20:10:32

                                  Fais juste une condition, si $ind_menu a la valeur 4, tu fais afficher le code de la popup. C'est pas vraiment sorcier.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    13 janvier 2009 à 18:11:41

                                    Le problème réside dans le fait que lorsque je met mon if dans le for, j'ai une erreur du serveur comme quoi j'utilise trop de mémoire comparée à la mémoire disponible....
                                    Une autre idée ?
                                    Merci d'avance
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      14 janvier 2009 à 11:43:42

                                      Citation : atly

                                      Fais juste une condition, si $ind_menu a la valeur 4, tu fais afficher le code de la popup. C'est pas vraiment sorcier.



                                      En effet, j'ai mis un if else
                                      Merci beaucoup
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Menu en Onglets

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown