Fermer
Atom Bowlby CMS Dieu Dotclear Dotclear 2 Dotclear2 Faux souvenirs Harlow JoOok Jésus Loftus MMORPG Milgram Miller Oméga Pensées Personnelles Pligg Psychanalyse Psychologie Psychoring Rodney Mullen Rss VNC Youtube accents acide gras ange animaux ascii assistance astuce attachement avatar blagounette caractères spéciaux charte chimie classique codage cognitif compil contrôle contrôle pc conventions couple design diffusion digglike dowload download droit décharge dépannage développement empreinte enseignement expérience fable fables faux souvenirs flux forum graphisme guitar master guitar masters guitar-heroes guitare gutar-heroes gâteau gâterie html humour instrumental joooklabs laboratoire langage langue licence lien sortant lightbox lightscript loOol logiciel lutins légende marionnette migraine musique mémoire netétiquette neuropsychologie news noël ogame ogame hof organique orgasmique pensées personnelles photoshop php pligg plugins prof programme psychologie psychologie clinique random religion renaissance reprise santé script service sexy site sites skate skateboarding skin smiley soumission squelette superstar support syndrôme série tags thème thèse tutoriel video vidéos vie vie artificielle web 2.0 zoo à distance à méditer électricité électrique
Top Panel
Taaaags!!
Top Panel
Tutos Pligg / plier déplier les paragraphes
Un tutos tout simple pour éviter à vos visiteurs de parcourir les pages, et reparcourir, et reparcouriiiiiir. Bon c'est juste un ptit plus pour les visiteurs, ça leur évite de recharger une nouvelle page à chaque fois qu'ils voient un résumé qui les interessent. ça peut interesser certains possesseur de digglikes.
Cette aprem fut bénéfique pour travailler un peu les fichiers du célèbre digglike Pligg. Appuyer sur un lien, toujours appuyer sur les liens, y'a pas à dire, c'est chiant, on aimerait bien pouvoir avoir accès directement en page d'acceuil à toute l'info qu'on souhaite. pourquoi pas sur les autres pages d'ailleurs :p.

Le ptit truc c'est de charger tout d'un coup (j'en entend crier, là, no?) résumé, et textes, de coller ça dans une variable-n'importe-laquelle dans le fichier

libs/link.php :

A l'origine, il y'a ça :

        if($type == "summary"){
            if($this->link_summary == ""){
                $smarty->assign('story_content', $this->truncate_content());
            } else {
                $smarty->assign('story_content', $this->link_summary);
            }
        }



et dans cette conditionnelle, on place dans une nouvelle variable $story_content2 la valeur du texte en entier correspondant au résumé, ce qui donne :

           if($this->link_summary == ""){

                $smarty->assign('story_content', $this->truncate_content());
                                $smarty->assign('story_content2', $this->content);
            } else {
                $smarty->assign('story_content', $this->link_summary);
                                $smarty->assign('story_content2', $this->content);
            }



reste pu qu'à afficher cette variable dans le templates link_summary.tpl, la procédure est la suivante :

1/ trouver la ligne qui affiche le story content et lui attribuer une conditionnelle :

à l'origine :

              <span id="ls_contents-{$link_shakebox_index}">
                  <br />{$story_content}<br /> 
                      {if $Enable_Extra_Field_1 eq 1}{if $link_field1 neq ""}<br/><b>{$Field_1_Title}:</b> {$link_field1}{/if}{/if}
                                         ...
                      {if $Enable_Extra_Field_15 eq 1}{if $link_field15 neq ""}<br/><b>{$Field_15_Title}:</b> {$link_field15}{/if}{/if}                            <br />
              </span>



on rajoute donc la variable texte sous forme de pseudo conditionnelle et on entoure les paragraphes des deux pseudo onditionnelles (le paragraphe donnant le résumé, celui donnant le texte) d'un <span> dont l'Id est différent : cela nous permettra de l'appeler plus tard via javascript.

                       <span id="ls_contents-{$link_shakebox_index}">
                  <span id="ls_sum-{$link_shakebox_index}"><br />{$story_content}
                      {if $Enable_Extra_Field_1 eq 1}{if $link_field1 neq ""}<br/><b>{$Field_1_Title}:</b> {$link_field1}{/if}{/if}
                                         ...
                      {if $Enable_Extra_Field_15 eq 1}{if $link_field15 neq ""}<br/><b>{$Field_15_Title}:</b> {$link_field15}{/if}{/if}             
                  </span><br />
                    <span id="ls_all-{$link_shakebox_index}"style="display:none;">
                                  {$story_content2}<br />
                      {if $Enable_Extra_Field_1 eq 1}{if $link_field1 neq ""}<br/><b>{$Field_1_Title}:</b> {$link_field1}{/if}{/if}
                                         ...
                      {if $Enable_Extra_Field_15 eq 1}{if $link_field15 neq ""}<br/><b>{$Field_15_Title}:</b> {$link_field15}{/if}{/if}             

                                 </span><br />
                      </span>



une fois que c'est bon, y'a pu qu'à appeler, ce qu'on peut faire comme bon nous semble n'importe ou dans le templates link_summary.tpl

j'ai choisi de l'appeler lorsque l'on appuie sur le titre de l'histoire (pouvez voir ça sur JoOok en appuyant sur les titres, pof, ça se déplie), j'ai donc remplacer cette ligne

<a href="{$story_url}">{$title_short}</a>


par le code javascript suivant :

<a href="javascript://" onclick="var replydisplay=document.getElementById('ls_sum-{$link_shakebox_index}').style.display ? '' : 'none';document.getElementById('ls_sum-{$link_shakebox_index}').style.display = replydisplay;var replydisplay=document.getElementById('ls_all-{$link_shakebox_index}').style.display ? '' : 'none';document.getElementById('ls_all-{$link_shakebox_index}').style.display = replydisplay;">{$title_short}</a><br />


au lieu du lien {$title_short}, vous pouvez évidemment mettre une petite image ou icône qui permettra de déplier le résumé.

reste encore un ptit pb à résoudre et une conditionnelle à ajouter, toutefois, pour que le plier/déplier ne se fasse que sur les pages adéquates ^^.

Mes connaissances en informatique étant relativement modestes, il est fort possible que je sois un peu confus dans mes explications, n'hésitez pas à demander des éclaircissement.
 
edit : remis trois mois plus tard, c'est devenu finalement assez simple. la nouvelle version comportera cette dernière fonction 
 
< Précédent   Suivant >