8791 sujets

Développement web côté serveur, CMS

Bonjour à toutes et à tous.

Je suis en train de faire un site sous Drupal. Dans se site il est possible de définir des sous sites. Suivant l'utilisateur, on peut acceder a 1 , 2 ou plusieurs liens de ces sous sites. Cela fonctionne très biens pour le moment. Vous allez me dire mais où est le pb? Et bien il faudrait que ces menus soit en Flash. J'ai déjà insérer un menu contenant des liens vers d'autres sites. Cela fonctionne.

Ce que je ne parviens pas a mettre en place c'est d'insérer le menu en flash avec les liens vers d'autres sous-sites ou partie du site spécifique a l'utilisateur.

Exemple: User01 a accès au site accueil + sous-site01 + forum sous-site02
User02 à accès au site accueil + sous-site03 + wiki sous-site 05

Ce menu specifique a chaque utilisateur s'affiche automatiquement a l'ouverture de session de ce dernier.

Voici le code PHP me servant à faire ce menu.



<ul class="menu">
	<li class="expanded"><a href=#>My Communities</a>
		<ul class="menu">
			<?php
			global $user;
			$groups = $user->og_groups;
			if($groups){
				foreach($groups as $group){
					echo '<li class="subleaf">';
					$str = str_replace(" ", "-", strtolower($group[title]));
					print l($group[title], 'community/'.$str);
					echo '</li>';
    				}
			}
			else {
				echo '<li>'.$user->name.' has joined no groups</li>';
			}
			?>
		</ul></li>


	<li class="expanded"><a href=#>My Forums</a>
		<ul class="menu">
			<?php
			global $user;
			$groups = $user->og_groups;
			if($groups){
				foreach($groups as $group){
					echo '<li class="subleaf">';
					$str = str_replace(" ", "-", strtolower($group[title]));
					print l($group[title], 'forums/'.$str);
					echo '</li>';
    				}
			}
			else {
				echo '<li>'.$user->name.' has joined no groups</li>';
			}
			?>
		</ul></li>
	
	<li class="expanded"><a href=#>My Wikis</a>
		<ul class="menu">
			<?php
			global $user;
			$groups = $user->og_groups;
			if($groups){
				foreach($groups as $group){
					echo '<li class="subleaf">';
					$str = str_replace(" ", "-", strtolower($group[title]));
					print l($group[title], 'wiki/'.$str.'-wiki');
					echo '</li>';
    				}
			}
			else {
				echo '<li>'.$user->name.' has joined no groups</li>';
			}
			?>
		</ul></li>

</ul>




Je voudrais donc savoir s.v.p si vous pouviez m'aider à mettre cela en place avec le menu en flash. J'ai essayé de mettre ce code dans le flash directement mais sans aucun succès.

Merci d'avance de votre aide.
Modifié par tester (02 Jul 2008 - 13:44)
Hum, peut-être que je vais dire des bêtises mais il faudrait coder en flash un système qui irait lire la liste des menus et sous-menu dans un fichier (xml?) généré par drupal. Ensuite, insérer le flash par javascript au dessus du menu html existant (pour ceux qui n'ont pas flash installé).


Bon courage. Smiley cligne


P.S. : Et pourquoi vouloir absolument un menu en flash?
Modifié par Patidou (02 Jul 2008 - 14:10)
Merci de ta réponse mais je n'ai pas un niveau très élevé... En flash car je ne sais pas comment faire des menus déroulant avec Drupal ni dans un autre langage.
Merci beaucoup pour ce dernier lien je pense essayer cela. Mais si quelqu'un connait une méthode pour le faire avec flash je suis preneur Car mon bosse souhaite un site visuellement "beau". Et le menu déroulant de Drupal n'est pas très beau.
On peut faire du beau avec html et css (voir le menu accordéon). Ton menu doit avoir un ID ou une classe, tu peux donc le cibler grâce aux css et changer son aspect. Si tu reprend la css du menu accordéon, il suffit déjà de changer les images de fond pour avoir quelques chose de complètement différent. Puis l'avantage de html + css c'est que ça fonctionne partout, contrairement au flash.

Si tu ne connais pas bien le fonctionnement des css, voici des article pour les débutants.
Modifié par Patidou (03 Jul 2008 - 13:36)
Merci beaucoup en tout cas de ton aide. MERCIIIIIIIIIIIIIIII Smiley cligne
Je vais tester tout ça demain.
Bonjour,

Je pense avoir compris à peu près comment faire. Sur le code source du menu accordéon tout ce qu'il y a en commentaires je peux l'enlever? ou cela sert je comprends pas vraiment?


Mais il me reste un questions. Je dois faire différents menus dont un qui est en fonction de l'utilisateur. Cad que dans ce menu, l'utilisateur à accès à plusieurs forums ou pas et donc le menu doit contenir les liens vers lesquels il à accès. Cela est il possible ou non? (de faire un menu qui suivant l'utilisateur possède un lien, 2 liens ...).

Le code PHP permettant de récupérer l'information de l'utilisateur (à quel forums il à accè) et de l'afficher avec de simples liens dans le menu de Drupal est le suivant



<ul class="menu">
	<li class="expanded"><a href=#>My Communities</a>
		<ul class="menu">
			<?php
			global $user;
			$groups = $user->og_groups;
			if($groups){
				foreach($groups as $group){
					echo '<li class="subleaf">';
					$str = str_replace(" ", "-", strtolower($group[title]));
					$str2 = str_replace("&", "", $str);
					print l($group[title], 'community/'.$str2);
					echo '</li>';
    				}
			}
			else {
				echo '<li>'.$user->name.' has joined no groups</li>';
			}
			?>
		</ul></li>


	<li class="expanded"><a href=#>My Forums</a>
		<ul class="menu">
			<?php
			global $user;
			$groups = $user->og_groups;
			if($groups){
				foreach($groups as $group){
					echo '<li class="subleaf">';
					$str = str_replace(" ", "-", strtolower($group[title]));
					$str2 = str_replace("&", "", $str);
					print l($group[title], 'forums/'.$str2);
					echo '</li>';
    				}
			}
			else {
				echo '<li>'.$user->name.' has joined no groups</li>';
			}
			?>
		</ul></li>
	
	<li class="expanded"><a href=#>My Wikis</a>
		<ul class="menu">
			<?php
			global $user;
			$groups = $user->og_groups;
			if($groups){
				foreach($groups as $group){
					echo '<li class="subleaf">';
					$str = str_replace(" ", "-", strtolower($group[title]));
					$str2 = str_replace("&", "", $str);
					print l($group[title], 'wiki/'.$str2.'-wiki');
					echo '</li>';
    				}
			}
			else {
				echo '<li>'.$user->name.' has joined no groups</li>';
			}
			?>
		</ul></li>

</ul>




Merci d'avance.
Modifié par tester (04 Jul 2008 - 09:51)