Mettre les mots clés du referant en surbrillance

All contributions published for previous SPIP versions

Attention ! Cette contribution modifie des fichiers du noyau de SPIP !

Même si elle a été testée par plusieurs utilisateurs nous ne pouvons garantir qu’il n’y aura pas d’effets secondaires dommageables sur votre SPIP. Conservez toujours les fichiers d’origine pour pouvoir revenir au noyau originel.

De plus, elle n’est compatible qu’avec une version précise de SPIP et sera perdue à la prochaine mise à jour : vous devrez donc recommencer.

Vous avez du remarquer que sur certains sites, lorsque vous y parvenez après avoir effectué une recherche sous un moteur de recherche, les mots clés que vous avez tapé dans la requête s’affichent en surbrillance dans la page que vous souhaitez consulter. Comment est-ce que cela fonctionne ? C’est très simple il suffit de récupérer l’URL du référant [1], d’extraire les mots clés que l’on placera dans la variable spéciale de spip : $var_recherche.

Il faut insérer le code suivant dans votre fichier ecrire/mes_options.php3

//Balluche:17/09/2005:Mettre les mots clés du référant en surbrillance
include_ecrire("inc_meta.php3");
include_ecrire("inc_statistiques.php3");
$arrMotCles = stats_show_keywords($_SERVER['HTTP_REFERER'], $ref_host);
if ($arrMotCles)
{
	$var_recherche = $arrMotCles['keywords'];
	//je vire les séparateurs d'expressions car non gérés par spip
	$var_recherche = ereg_replace('"', '', $var_recherche);
}

Mais çà ne suffit pas. Pour que çà marche il faut ajouter un petit hack noyau en modifiant la fonction stats_load_engines du fichier ecrire/inc_statistiques.php3 [2] et modifier la deuxième ligne en ajoutant le DOCUMENT_ROOT (parce que le fichier engines-list n’était pas trouvé). Ce qui donne :

$file_name = $_SERVER[DOCUMENT_ROOT] . '/ecrire/engines-list.txt';

Pour voir un exemple effectuez une recherche sous google par exemple et cliquez sur un lien de mon site (balluche).

Si vous utilisez cette contrib j’apprécierais que vous fassiez un lien vers mon site mais ce n’est pas une obligation !

Footnotes

[1referer en anglais

[2pensez à reporter cette modification lorsque vous effectuerez une mise à jour de spip

updated on 17 December 2005

Discussion

3 discussions

  • c’est uen tres bonne cntrib,

    est ce que qu’il y a une version 1.9 :) peut etre un joli petit plugin ?

    Reply to this message

  • 1

    Euh merci ! :)
    La contrib fonctionne chez moi mais la modif du fichier ecrire/mes_options met un bazard pas possible dans l’affichage coté admin. (spip 182g).
    Y a t-il une solution chef ?

    PS dans ecrire/inc-stat, il faut remplacer la ligne :
    $file_name = ’engines-list.txt’;
    par :

    $file_name = $_SERVER[DOCUMENT_ROOT] . ’/ecrire/engines-list.txt’;
    ou j’ai mal compris ?

    • Seulement si nécessaire. C’est le cas sur les serveurs de free. J’ai aussi la 1.8.2g et je n’ai pas de problème. Peux-tu me mailer une copie écran ?

    Reply to this message

  • Il ne faut pas oublier que la surbrillance ne marche que grâce à propriété CSS : .spip_surligne qui est une fonctionnalité de SPIP. Si elle n’est pas définie, rien ne se passe.

    Reply to this message

Ajouter un commentaire

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom