Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Questions » » Menu déroulant  
AuteurMenu déroulant
Anonyme
19853  

Anonyme
  Posté : 06-05-2006 16:17

Bonjour à tous.

J'ai un petit souci avec npds. Rien de méchant mais ca me trotte dans la tête. Je souhaiterais avoir une sorte de menu déroulant. J'entends par là un bouton sur lequel l'utilisateur cliquerait pour faire dérouler le contenu d'un bloc et vice-versa pour gagner de la place. Il s'avère que le module "marque-page" qui est inclut dans le la dernière version de npds est exactement ce qu'il me faut. Cependant, je ne vois pas comment intégrer cette fonction dans les autres blocs de mon site. Voici deux screens et les codes liés au bloc marque-page.

http://img415.imageshack.us/img415/6102/marquepage013re.jpg

http://img405.imageshack.us/img405/4/marquepage022qs.jpg

!include!#modules/marquetapage/marquetapage.php
function#marquetapage


Merci d'avance pour vos réponses et bon week-end à tous.


PS: Si jamais je ne répond pas vite, c'est que ma connection internet fait parfois des siennes.

  Citation   
Tito
7758       
 

Tito
  Posté : 06-05-2006 19:32

Tu dois le gérer au niveau du thème. C'est tout à fait réalisable.

1) Tu mets un DIV autour du contenu du bloc:
<div id="<?php echo "block_".md5($title); ?>" class="block_visible">
!B_content!
</div>




2) Tu mets un !onclick! sur le titre de ton bloc:
<span !onclick!="(getElementById('<?php echo "block_".md5($title); ?>').className=='block_hidden')?(getElementById('<?php echo "block_".md5($title); ?>').className='block_visible'):(getElementById('<?php echo "block_".md5($title); ?>').className='block_hidden')">!B_title!</span>




Et tu crées les classes CSS:
.block_visible {

}
.block_hidden {
display: none;
position: absolute;
height: 0;
width: 0;
overflow: hidden;
font-size: 0;
line-height: 0;
}



CODE NON TESTÉ
Pour gérer les cookies, c'est une autre histoire (j'ai le script sur mon ordi, contacte-moi par MSN: tito@webtito.org)

  Profil  E-mail  www  Citation   
canasson
873      
 

canasson
  Posté : 06-05-2006 23:03

Tu peux très certainement aussi réaliser ce menu directement en css..

  Profil  E-mail  www  Citation   
Anonyme
19853  

Anonyme
  Posté : 08-05-2006 14:43

Je ne pensais pas que j'aurais une réponse aussi complète et aussi rapide. Merci beaucoup à vous deux. Je vais aller essayer cela de ce pas.

  Citation   
Tito
7758       
 

Tito
  Posté : 09-05-2006 20:26

Le pire c'est que je l'ai codé directement en répondant... Je sais, je suis un dieu

  Profil  E-mail  www  Citation   
confridin
16   

confridin
  Posté : 28-06-2006 17:39

Bonjour.

Je sais que je suis lent mais je vient tout juste de tester le code écris plus haut et il s'avèr que je n'arrive pas à le faire fonctionner.

@Tito: Tu marques dans ton message que tu as un script similaire sur ton ordi mais qui gère en plus les cookies. Est-ce que tu l'aurais encore et pourrais-tu me le transmettre. Merci d'avance.

  Profil  Citation   
confridin
16   

confridin
  Posté : 27-07-2006 18:09

Bonjour à tous.

N'ayant pas eu de réponse, je me permet de faire un up de ce sujet. J'ai déjà envoyé uyn mail à Tito mais sans succès. Merci d'avance pour votre aide.

  Profil  Citation   
Anonyme
19853  

Anonyme
  Posté : 12-06-2008 15:05

J'ai besoin du même script, & je n'arrive pas non plus a le faire marcher. Aidez-moi SVP.

  Citation   
PhilGuen
986      

PhilGuen
  Posté : 13-06-2008 12:03

Si les menus de mon site vous conviennent, je peux vous les passer

  Profil  E-mail  www  Citation   
Anonyme
19853  

Anonyme
  Posté : 06-08-2008 11:21

Citation : PhilGuen 

Si les menus de mon site vous conviennent, je peux vous les passer 


Oui, j'en voudrai bien moi ! stp

  Citation   
PhilGuen
986      

PhilGuen
  Posté : 07-08-2008 09:08

Je ne suis pas l'auteur initial du code trouvé il y a plusieurs années sur le web, mais je l'ai pas mal modifié. J'ai également codé pour alimenter les lignes du menu à partir d'une table sql.Si ca intéresse, je peux donner un exemple.
entre les balises "head"


  <SCRIPT Language=\"!javascript!\">
   var DateMaintenant = new Date();
   var DateExpire = new Date();
   DateExpire.setFullYear(DateMaintenant.getFullYear()+1);

     function toggle(node,cat_menu) {
        var nextDIV = node.nextSibling;

        // find the next DIV
        while(nextDIV.nodeName != \"DIV\") {
           nextDIV = nextDIV.nextSibling;
        }

        // Unfold the branch if it isn't visible
        if (nextDIV.style.display == 'none') {
              ;// Change the image (if there is an image)
              ;if (node.childNodes.length > 0) {
              ;     if (node.childNodes.item(0).nodeName == \"IMG\") {
              ;          node.childNodes.it em(0).src = \"images/minus.gif\";
              ;     }
              ; }
              ; nextDIV.style.display = 'block';
              ; flag_expand_menu = 1;
        } else {
              ; // Collapse the branch if it IS visible
              ; // Change the image (if there is an image)
              ; if (node.childNodes.length > 0) {
              ;      if (node.childNodes.item(0).nodeName == \"IMG\") {
              ;           node.childNo des.item(0).src = \"images/plus.gif\";
              ;      }
              ; }
              ; nextDIV.style.display = 'none';
              ; flag_expand_menu = 0;
        }
     !document.cookie!=cat_menu+'='+flag_expand_menu +';expires='+DateExpire.toGMTString();
     <!-- alert(!document.cookie!); -->
    }
  </SCRIPT>



entre les balises "body"



<table border = \"0\" cellspacing = \"0\" cellpadding = \"0\">
      <tr>
          <td>
              ; ";
              ; $flag_expand = $_COOKIE[101];
              ; if ($flag_expand == 1){
              ;          $imagefolder = "images/minus.gif";
              ;       }else{
              ;          $imagefolder = "images/plus.gif";
              ;       }
              ; $content.="
              ; <a !onclick! = \"{toggle(this,101);}\" class = \"folder\" style = \"cursor:hand\">
              ;       <img src = ".$imagefolder.">
              ;       <b>Ma première ligne de menu</b>
              ; </a>
              ;      ";
              ;       if ($flag_expand == 1){
              ;          $content .= "<div style = \"display:yes;\">";
              ;       }else{
              ;          $content .= "<div style = \"display:none;\">";
              ;       }
              ;       $content .="
              ;       <table border = \"0\" cellspacing = \"0\" cellpadding = \"0\">
              ;           <tr> < br />              ;                <td width = \"15\"></td>
              ;                <td>
              ;                      
              ;                    <img src = 'images/blocks/som_module.gif' width = '15' height = '10' hspace = '2'>
              ;                     <a href = 'monlien1'>
              ;                        Mon premier sous-menu
              ;                     </a>
              ;                </td>
              ;              </tr>
              ;       </table>
              ;       <table border = \"0\" cellspacing = \"0\" cellpadding = \"0\">
              ;           <tr> < br />              ;                <td width = \"15\"></td>
              ;                <td>
              ;                      
              ;                    <img src = 'images/blocks/som_module.gif' width = '15' height = '10' hspace = '2'>
              ;                     <a href = 'monlien2'>
              ;                        Mon deuxième sous-menu
              ;                     </a>
              ;                </td>
              ;              </tr>
              ;       </table>
              ;       <table border = \"0\" cellspacing = \"0\" cellpadding = \"0\">
              ;           <tr> < br />              ;                <td width = \"15\"></td>
              ;                <td>
              ;                      
              ;                    <img src = 'images/blocks/som_module.gif' width = '15' height = '10' hspace = '2'>
              ;                     <a href = 'monlien3>
              ;                        Mon troisième sous-menu
              ;                     </a>
              ;                </td>
              ;              </tr>
              ;       </table>
              ;       </div>
          </td>
      </tr>
      </table><br>



(enlever les ! entourant !document.cookie! générés lors de la création de ce message)
à renouveler pour chaque ligne de menu

  Profil  E-mail  www  Citation   
killing
1140       

killing
  Posté : 07-08-2008 10:13



Bonjour,

Si j'ai bonne mémoire, le code d'un menu déroulant est dispo dans le forum "Le coin des codeurs"


  Profil  Citation   
  
Sauter à :

Temps : 0.0279 seconde(s)