Fork me on GitHub

Rapport de message :*
 

Mise en relation du module News avec le module Wordbook

Titre du sujet : Mise en relation du module News avec le module Wordbook
par patrickc80 sur 20/01/2008 06:51:54

Pour ceux qui seraient intessés, je me suis amusé à utiliser une adaptaion qui fonctionne pour le module Wordbook, afin de l'utiliser avec le module News, (en relation avec le module Wordbook).
Suite à
une discussion qui fonctionne avec Wordbook, je me suis dit pourquoi ne pas essayer de l'adapter pour le module News, afin que les lecteurs qui lisent un article sur votre site qui ne comprennent pas un terme technique, ou un mot spécifique, qui se trouve dans le texte, puissent avoir un lien qui pourrait les renseigner sur ce terme.
Explication:
l'adaptation concerne la création d'un lien automatique sur un mot qui se trouve dans le texte de l'article du module News et qui correspond à une définition qui se trouve dans le module Wordbook, le mot en question est surligné automatiquement en lien sur lequel le lecteur peut cliquer, et accéder ainsi directement sur la page du terme qui se trouve dans Wordbook.

Le code.
Ouvrir le fichier: modules/News/article.php

Le code initial (à partir de la ligne 192):
$bodytext $article->bodytext();


Le code transformé:
$bodytext $article->bodytext();

//hack pour afficher les liens vers les définitions  wordbook par Pat80 Le yorksire Terrier - http://yorkshire.dynalias.com
$parts explode("|LIENTERME|"$bodytext); 
      
// Rechercher tous les termes du glossaire Wordbook.
$allterms $xoopsDB -> query"SELECT entryID, term FROM " $xoopsDB -> prefix"wbentries" ));
while ( list( 
$entryID$term ) = $xoopsDB -> fetchrow($allterms ))
{
foreach(
$parts as $key=>$part)
{
    
$realterm $term;

    
// singulier -
    
$term2 $realterm;
    
$term_q preg_quote($term2'/');
    
$search_term "/b$term_qb/i";
    
$replace_term "<span><b><a style='text-decoration: underline; 'href='".XOOPS_URL."/modules/wordbook/entry.php?entryID=".$entryID."' target='_blank'>".$term2."</a></b></span>";
    
$parts[$key] = preg_replace($search_term$replace_term$parts[$key]);

    
// pluriel -
    
$term2 $realterm."s";
    
$term_q preg_quote($term2'/');
    
$search_term "/b$term_qb/i";
    
$replace_term "<span><b><a style='text-decoration: underline; 'href='".XOOPS_URL."/modules/wordbook/entry.php?entryID=".$entryID."' target='_blank'>".$term2."</a></b></span>";
    
$parts[$key] = preg_replace($search_term$replace_term$parts[$key]);

    
// pluriel avec un e
    
$term2 $realterm."es";
    
$term_q preg_quote($term2'/');
    
$search_term "/b$term_qb/i";
    
$replace_term "<span><b><a style='text-decoration: underline; 'href='".XOOPS_URL."/modules/wordbook/entry.php?entryID=".$entryID."' target='_blank'>".$term2."</a></b></span>";
    
$parts[$key] = preg_replace($search_term$replace_term$parts[$key]);

    
// pluriel avec al pour langue francaise - hack aquaportail.com 
    
if ( substr$realterm, -) == "al" )
      {
      
$term2 substr$realterm0strlen($realterm)-)."aux";
      
$term_q preg_quote($term2'/');
      
$search_term "/b$term_qb/i";
      
$replace_term "<span><b><a style='text-decoration: underline; 'href='".XOOPS_URL."/modules/wordbook/entry.php?entryID=".$entryID."' target='_blank'>".$term2."</a></b></span>";
      
$parts[$key] = preg_replace($search_term$replace_term$parts[$key]);
}

    }
        }
        
$bodytext implode("|LIENTERME|"$parts);

// fin du hack

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

56 Personne(s) en ligne (53 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 56 | Plus ...