8797 sujets

Développement web côté serveur, CMS

Bonjour, voila mon problème:

J'ai un template sur lequel suivant les modules présent dans la page ou non des div doivent s'installer. Le problème c'est que je n'arrive pas à le faire.
Qui peux m'aider à faire les fonction php pour que cela fonctionne.

Explication en image: la première si les users sélectionné pour cette page j'affiche: dessin 1 si les users non sélectionné, j'affiche dessin2
upload/14341-div.jpg upload/14341-DIV1.jpg
Modifié par wyllos (08 Oct 2007 - 19:02)
Pourrais-tu nous renseigner d'avantage avec par exemple un lien de ton site, qui expliciterait son fonctionnement ? Merci

Une copie de ton code source pourrait également nous aider !


Sinon à première vue, ce que tu souhaites réaliser doit être assez simple avec quelques conditions php (le titre de ton topic n'est pas très clair non plus Smiley cligne )

Je serais ravis de t'aider avec un peu plus d'informations et si tu as d'autres questions n'hésites surtout pas Smiley smile
en ce qui concerne mon code j'ai fait ceci ou les 4 div appraissent quand ils sont sélectionné mais ne disparaissent pas quand ils ne le sont plus.
Code:



<?php
$allnews=array('user2','user5','user7','user9');
$ja_user2=mosCountModules('user2');
$ja_user5=mosCountModules('user5');
$ja_user7=mosCountModules('user7');
$ja_user9=mosCountModules('user9');
$allnews1='mosMainBody';

?>
	<?php 
	if(isset($ja_user2)&& isset($ja_user5)&& isset($ja_user7)&& isset($ja_user9)) {
	?>
	    <div id="allnews"> 
	 <div id="crit"> 
        <div class="news"> 
		<?php if ( mosCountModules('user5') ) { ?>
          <div class="new"> 
		  <?php mosLoadModules ('user5');?>
          <div class="suite"> 
		  
          </div>
        </div>
        <a class="plus" href="index.html" alt="+"></a> </div>
		<?php } ?>
      <div id="actu"> 
	       <?php if ( mosCountModules("user2") ) { ?>
        <div class="news"> 
          <?php mosLoadModules ('user2');?>
          </div>
          <div class="suite"> 
		  
          </div>
        </div>
        <a class="plus" href="index.html" alt="+"></a> </div>
		<?php } ?>
     <div id="backs"> 
        <div class="news"> 
		<?php if ( mosCountModules("user9") ) { ?>
          <div class="new"> 
		  <?php mosLoadModules ('user9');?>
          </div>
          <div class="suite"> 
		  
          </div>
        </div>
        <a class="plus" href="index.html" alt="+"></a> </div>
		<?php } ?>
		
      <div id="indus"> 
        <div class="news"> 
		<?php if ( mosCountModules("user7") ) { ?>
          <div class="new"> 
		  <?php mosLoadModules ('user7');?>
          </div>
          <div class="suite"> 
		  
          </div>
        </div>
        <a class="plus" href="index.html" alt="+"></a> </div>
		<?php } ?>
      
    </div></div>
	<?php 
	}
	else {	?>
	<div id="allnews1"></div>
  <?php
  }
    ?>

Merci pour ton aide

Désolé, un oubli dans l'urgence.
Modifié par wyllos (08 Oct 2007 - 18:19)
Je te conseille de rajouter les balises [ C O D E ] et [ / C O D E ] de part et d'autre de celui ci Smiley smile sinon tu te fera tirer les oreilles Smiley smile


Si je comprend bien tu veux qu'au clic sur une des boites du dessin de gauche tu la fasse apparaitre en grand dans le module de droite ? Personnellement je n'ai pas bien saisi...


Rude
Modifié par ffwrude (08 Oct 2007 - 17:08)
Trop tard... Voilà le tirage d'oreilles Smiley lol

Bonjour et bienvenue parmi nous wyllos Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
Encore désole....

Petite explication, en fait la page des 4 div est ma page d'accueil dans ces div, il y a les titres de rubriques. Quand on clique sur un titre ou dans le menu à va sur la page des rubrique et celle la doit s'afficher en entier.
J'espère que c'est plus compréhensible.

wyllos
Modifié par wyllos (08 Oct 2007 - 18:23)


[b]Exemple succint[/b]

<div style='width:300px;float:left;'>
	<div id='div1' style='float:left;width:150px;height:150px;background-color:red;' onclick='document.location.href="page_rubrique_1.php";'>
	</div>

	<div id='div2' style='float:left;width:150px;height:150px;background-color:blue;' onclick='document.location.href="page_rubrique_2.php";'>
	</div>

	<div id='div3' style='float:left;width:150px;height:150px;background-color:green;' onclick='document.location.href="page_rubrique_3.php";'>
	</div>

	<div id='div4' style='float:left;width:150px;height:150px;background-color:orange;' onclick='document.location.href="page_rubrique_4.php";'>
	</div>
</div>

[b]Les ids ne servent à rien c'est juste pour différencier[/b]


Bah la si tu clique sur une <div> ca t'emmenne vers une autre page ... tu pourrais aussi y écrire du texte dans une balise <a> pour faire un lien. Mais je ne suis pas tout à fait sur d'avoir compris ce que tu voulais faire.

PS : On peut pas faire SUIVRE ce sujet et voir les messages par mail comme quand on créer un sujet ?
Modifié par ffwrude (08 Oct 2007 - 18:33)
Oui mais mes div sont des modules dans lesquels viennent les titres correspondant à la rubrique. Dans ton exemple, je devrait avoir plusieurs templates, un pour chaque titre. Hors je cherche en avoir un seul qui suivant la demande, modifi le visuel.
En fait d'après ce que j'ai compris, tu veux inclure des modules différents selon les pages visitées, ce n'est pas très compliqué...

Il te suffit d'inclure un module avec include (php) dans la page voulue

Exemple : le module 1 doit s'afficher sur la page 1, donc tu ne l'inclus qu'à la page 1 !

Regardes ici pour savoir comment inclure une page avec PHP

Si cela ne va toujours pas, n'hésites pas à demander de l'aide Smiley cligne
Et pour si tu veux que des modules n'apparaîssent pas sur une page, par exemple sur ton .php tu peux faire ça :

// <? echo "ce message n'apparaîtra pas car il est en commentaire"; ?>



Tu peux faire de même pour l'insertion des modules, en début de ligne tu met // ce qui fait que ce qui suivra ne sera pas affiché et si jamais tu veux que cela s'affiche tu enlèves les //

Cela peut t'éviter de compliquer ton code inutilement Smiley cligne
Salut,
Gouri a écrit :
// <? echo "ce message n'apparaîtra pas car il est en commentaire"; ?>

Il y a un petit problème sur le placement du commentaire, et il vaut mieux utiliser "<?php" plutôt que "<?". Smiley cligne
<?php // echo "ce message n'apparaîtra pas car il est en commentaire"; ?>

Modifié par Julien Royer (09 Oct 2007 - 09:51)
Gouri a écrit :
Euh oui, on va - comme d'habitude - mettre ça sur le bon dos de la fatigue Smiley biggol

Il faut dormir parfois ! Smiley ravi
Dor-quoi ?
Je viens d'emménager, j'ai des factures et serveurs à payer, il faut surtout travailler pour le moment (surtout si on veut manger :x d'ailleurs j'ai faim ...)

Je dormirais bientôt Smiley murf
Bah en gros tu veux une page unique avec des inclusions comme l'a si bien dit Gouri.

En gros un truc du genre


<div id='ta_page'>
      <?php include('./module1.php');
</div>

Dans ce cas je ferais moi appel à une variable en get. Genre sur une de tes div =>
<div onclick='document.location.href="index.php?page=1";'>
    blabla
</div>

et puis dans l'index : 
<?php
switch($_GET["page"]){
      case "1" :
      include ("./module1.php");
      break;

      default :
      include("./page_erreur.php"); /* la tu colle une page qui raconte que la page p=machin_truc n'existe pas ... ou plutot que la page page=http://www.google.fr n'à rien à faire chez moi*/
      break;
}
  
?>


C'est écris un peu de façon anarchique mais l'essentiel y est.

Rude
Le problème c'est que les pages je ne les connais pas vue qu'elles sont générés automatiquement par le cms.
il faut donc que je le face avec if et else.