| 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 > |
|---|









