8792 sujets

Développement web côté serveur, CMS

Bonjour,

je cherche une solution simple pour générer des rollovers en php. Il s'agit de rendre pour le client la mise à jour très simple.

Les effets de rollovers sont généralement créé par des javascripts, avec entre <head> et </head> du code pour précharger les images, puis entre <body> et </body> le lien avec un petit script sur onMouseOver, onMouseOut. J'avais pensé faire un php qui écrirait dans la page, mais comment faire pour qu'il écrive à la fois dans head et dans body ?

Note: je suis débutant (remarque : ça se voit)

Merci Smiley cligne
Merci, mais en fait non ça ne répond pas trop à ma question.

J'ai avancé un peu là dessus. En fait j'ai pensé à une page squelette, ainsi qu'un page menu.php. Avec un include j'inclus le menu, ce qui permet de ne modifier que le menu. Pareil pour le contenu (contenu.php). Donc j'ai pensé que le fcihier menu.php pouvait contenir un tableau avec les différents éléments du menu style

$menu= array[];
$menu.push [];


Bon je connais pas trop la syntaxe justement...
note : le tableau devra être multidimenssionnel car pour chaque entrée du menu je dois ficer un certain nombre de paramètres.

ensuite dans <body>, à l'endroit ou doit se trouver le menu j'ai pensé faire une boucle qui à chaque entrée du tableau fera un truc du style :

echo "<a href='" $url+ etc...;


Qu'en pensez-vous, ? et pouvez vous m'aider sur la syntaxe ?

Merci
koala64 a écrit :
Bonjour,

Avant de continuer, comment comptes-tu déclencher le rollover ? Smiley smile
Avec Javascript, d'après le premier message. Smiley ohwell
Modérateur
A priori, j'avais plus compris que hihihi35 voulait se passer de JS mais ce que je sous-entendais, c'est que php n'est pas adapté et n'apporte rien ici...
koala64 a écrit :
A priori, j'avais plus compris que hihihi35 voulait se passer de JS mais ce que je sous-entendais, c'est que php n'est pas adapté et n'apporte rien ici...
En fait, je crois que le but est d'écrire du code PHP qui génère tout seul le code Javascript bien lourd qui gère le roll-over.
Excusez moi de ne répondre que maintenant, je n'ai pas de connexion à la maison.
Ce que je cherche c'eest effectivement à simplifier la maintenance du site. Car le rollover produit un code assez lourd. Voilà Smiley cligne
Modérateur
Salut, Smiley smile

A partir du moment où tu gères tes rollovers à partir d'un fichier externe, le code ne sera pas si lourd... Il sera réutilisable que ce soit en CSS ou en JS et pour faciliter leur emploi, une classe CSS suffit.

Si tu as besoin d'un simple rollover, CSS répond à cette attente (bien que perso, je soit plutôt contre... Ce n'est pas le rôle de CSS que de gérer un comportement mais ce n'est qu'un avis perso). Par contre, si tu as besoin de plus de souplesse pour produire des rollovers "personnalisés", JS te sera bien utile.

Encore une fois, je ne vois pas l'intérêt d'y ajouter une gestion côté PHP... Si tu n'es pas d'accord, développe ton idée parce que je ne vois pas là... Smiley confus
En cherchant un peu j'ai fais un truc du style :

Code du fichier menu.php :

<?php
	$typo = "typo.ttf";
	$corps = "15";
	$couleur = "FF3300";
	$couleur2 = "33FF00";
	$couleurFond = "000000";
	$transparence = true;
	//
	$menu[0] = "typographie";
	$lien[0] = "../index.html";
	$menu[1] = "édition";
	$lien[1] = "../index.html";
	$menu[2] = "commandes";
	$lien[2] = "../index.html";
	$menu[3] = "contact";
	$lien[3] = "../index.html";
	$menu[4] = "adresse";
	$lien[4] = "../index.html";
?>


et dans le fichier principal :

<div id="contenu">
			<?php
				$taille = count($menu);
				for ($i=0; $i<$taille; $i++){
					echo '<a href="';
					echo $lien[$i];
					echo '" style="background-image:url(../scripts/dtr/heading.php?texte=';
					echo $menu[$i];
					echo '&typo=Agenda.ttf&corps=';
					echo $corps;
					echo '&couleur=';
					echo $couleur2;
					echo '&couleurFond=';
					echo $couleurFond;
					echo '&transparence=';
					echo $transparence;
					echo ')">';
					//
					echo '<img src="../scripts/dtr/heading.php?texte=';
					echo $menu[$i];
					echo '&typo=Agenda.ttf&corps=';
					echo $corps;
					echo '&couleur=';
					echo $couleur;
					echo '&couleurFond=';
					echo $couleurFond;
					echo '&transparence=';
					echo $transparence;
					echo '" alt="Typographie" border="0" />';
					//
					echo '</a>';
				}
			 ?>
		</div>


C'est en gros ça que je voulais faire, maintenant faudrait l'optimiser un peu. Avez-vous des suggestions ? Au fait, j'ai géré le rollover avec ça :


#menu a {
	display:table;
	float:left;
	background-repeat: no-repeat;
}
#menu a:hover img {
	visibility: hidden;
}