Variante Contrib Un-glossaire-interne

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Afficher la définition dans un popup

function lier_au_glossaire($texte)
{
$r = spip_query("SELECT id_mot, titre FROM spip_mots WHERE id_groupe=X");
while($o = spip_fetch_array($r))
		{
		$texte = first_replace("$o[titre]","<a href=\"rubrique.php3?id_rubrique=X#mot".$o[id_mot]."\" class=\"glossaire\" title=\"Glossaire\" onclick=\"window.open('mot.php3?id_mot=$o[id_mot]', 'photo', 'height=350, width=400, top=100, left=100, toolbar=no, menubar=no, location=no, resizable=yes, scrollbars=no, status=no'); return false;\">$o[titre]</a>",$texte);
		}
	return $texte;
}

-  Cette variante utilise des mot-clés plutôt que des brèves. Mais avec des brèves c’est pareil, adapter le code en conséquence.

-  Remplacer les « X » dans la fonction par les bons numéros.

-  Description, variantes de la variante :

  • Définition dans un pop up sur un clic :
    • La page appelée dans le pop up est le squelette mot.html, attention à ne pas trop le charger, le but étant d’ouvrir une petite fenêtre n’affichant que la définition du mot ;
    • à la limite, créer un def.html et son def.php correspondant avec délais de cache maximum, les définitions étant par définition définitives :
      <a href=\"rubrique.php3?id_rubrique=X#mot".$o[id_mot]."\" class=\"glossaire\" title=\"Glossaire\" onclick=\"window.open('def.php3?id_mot=$o[id_mot]', 'photo', 'height=350, width=400, top=100, left=100, toolbar=no, menubar=no, location=no, resizable=yes, scrollbars=no, status=no'); return false;\">
  • Si js désactivé ou absent :
    • lien vers la définition correspondante : ancre <a name="mot#ID_MOT">#TITRE</a> générée par la boucle MOTS affichant tous les mots de l’id_groupe=X dans le glossaire, ici rub X.
    • On peut aussi faire un lien tout bête vers la page id_mot correspondante :
      <a href=\"mot.php3?id_mot=".$o[id_mot]."\" class=\"affgloss\" title=\"Glossaire\" onclick=\"window.open('mot.php3?id_mot=$o[id_mot]', 'photo', 'height=350, width=400, top=100, left=100, toolbar=no, menubar=no, location=no, resizable=yes, scrollbars=no, status=no'); return false;\">$o[titre]</a>
      dans ce cas, mieux vaut utiliser l’option def.html pour le pop up, histoire de ne pas pourrir le squelette mot.html qui peut aussi servir à autre chose.

-  Pour les versions php de SPIP, ne pas oublier de remplacer dans la fonction les « php3 » par « php ».

Dernière modification de cette page le 28 mai 2007

Discussion

Aucune discussion

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom