SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

246 Plugins, 178 contribs sur SPIP-Zone, 266 visiteurs en ce moment

Accueil du site > Navigation > Hyperliens > Les liens automatiques

Les liens automatiques

31 août 2004 – par pdepaepe – 32 commentaires

1 vote

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

Cette contribution vous permettra de définir une série de mots qui se transformeront automatiquement en liens sur toutes les pages de votre site et ce via l’espace d’administration.

Cela peut s’avérer fort utile pour monter facilement un glossaire ou proposer à l’instar des actualités de Yahoo, certains liens relatifs (vers des images, rubriques ou fiches disponibles ailleurs sur le site, par exemple).

Mise en place

Installation de la table mysql

A l’aide de phpmyadmin par exemple, créez la table suivante sur votre base SPIP :

Interface d’administration

Créez le fichier autolinks.php3 avec le code suivant ou téléchargez le ici :

Puis placez-le dans votre répertoire ecrire/

Edition du fichier mes_fonctions.php3

Ajoutez dans votre fichier mes_fonctions.php3, présent à la racine de votre site, la fonction PHP suivante :

Définition des liens automatiques

Connectez-vous à votre espace d’administration, puis accédez à la page d’administration en vous rendant sur le fichier http://www.votresite.tld/ecrire/aut...

Renseignez le formulaire en indiquant le mot à recherché et l’url correspondante.

Le nombre de liens est illimités. Vous pouvez mettre des liens relatifs ou absolus. A noter egalement que les mots recherchés sont sensibles à la casse et doivent être isolés d’un espace de chaque coté.

Vous pouvez mettre très facilement un raccourci dans votre barre de navigation vers cette page d’administration, en suivant notre astuce présente sur cette page.

Edition de vos squelettes

Enfin, éditez vos squelettes en spécifiant pour chaque élément affichés s’ils doivent être traités ou non.

Exemple :

- [(#DESCRIPTIF|autolinks)]
- [(#TEXTE|autolinks)]
- [(#PS|autolinks)]
Retour en haut de la page

32 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3 | 4

  • Répondre à ce message

    7 octobre 2007 18:48, par LaG

    De rien...

    Si quelqu’un avait une piste pour éviter de casser les liens déjà existants, en autorisant par exemple le lien automatique seulement si le mot correspondant ne se trouve pas dan s une balise , ce serait bien de la partager. J’ai très peu de notion de php, donc je ne sais pas si ça se fait...

    Il serait bien aussi de pouvoir faire un lien automatique pour un groupe de mots dont un des mits se trouve déjà dans la liste des mots. Un exemple pour mieux comprendre : pouvoir mettre "espérance de vie" et "vie" dans la liste des liens automatiques sans qu’espérance de vie ne soit cassé. Par exemple en ayant trouvé une solution pour le premier problème, on pourrait lancer par effectuer la transformation en liens pour les groupes de mots les plus grands, et ainsi, en arrivant à "vie", le groupe de mots "espérance de vie" ne serait pas cassé car il serait déjà un lien...

  • Répondre à ce message

    7 octobre 2007 16:27, par cyb

    Au temps pour moi, les apostrophes étaient mal traduites avec le copier/coller, ça à l’air de marcher ^^ Merci !

  • Répondre à ce message

    7 octobre 2007 16:24, par cyb

    Non, ça ne marche pas, j’ai un "Vous n’avez pas accès à cette page." comme avec l’autre fonction...

    Par contre ,j’ai toujours mon problème qui est finallement bien dû à l’apostrophe dans le mot à "autolinker", si tu as une idée à ce sujet, n’hésite pas ;)

  • Répondre à ce message

    6 octobre 2007 16:00, par LaG

    Je crois avoir trouvé la solution pour la sécurité sous SPIP 1.9.

    Au lieu de

    if ($connect_statut != « 0minirezo » OR !$connect_toutes_rubriques)

    je mets

    if($auteur_session[’statut’] !=’0minirezo’)

    et ça marche.

    Si quelqu’un peut vérifier...

  • Répondre à ce message

    16 septembre 2007 16:27, par cyb

    en fait, le problème ne viens pas de l’postrophe, le mot sur lequel je testait était entouré de parenthèses, le problème viens de là... Si vous voyez comment faire, merci d’avance ! :)

  • Répondre à ce message

    16 septembre 2007 16:02, par cyb

    Bonjour,

    Pour faire fonctionner cette contrib sous SPIP 1.9x, il est nécessaire de faire quelques "ajustements".

    1/Renommer le fichier autolinks.php3 en autolinks.php (ça n’est pas obligatoire, mais vu que SPIP 1.9x n’utilise maintenant que des extensions en .php, c’est plus joli ;-)

    2/ Dans autolinks.php, remplacer la ligne

    include ("inc.php3"); par include_once 'inc_version.php';

    3/ Toujours dans autolinks.php, supprimer la condition

    if ($connect_statut != "0minirezo" OR !$connect_toutes_rubriques) {
            echo "<B>Vous n'avez pas acc&egrave;s &agrave; cette page.</B>";
            exit;
    }

    Elle est sans doute importante pour une question de sécurité, surtout si vous souhaitez ajouter une icone/lien vers autolinks.php dans l’interface d’administration, mais je ne suis pas assez calé pour réécrire ça de manière à ce que ça soit compatible avec SPIP 1.9x

    3/ Encore dans autolinks.php, rajouter quelque part dans le fichier la fonction spip_fetch_row() qui a disparue depuis SPIP 1.7 (à noter que j’ai essayé de remplacer cette fonction par spip_fetch_array() mais ça ne fonctionne pas) :

    function spip_fetch_row($r) {
            if ($r)
                    return mysql_fetch_row($r);
    }

    4/ Dans mes_fonctions.php, rajouter également la fonction spip_fetch_row ci dessus.

    Là ça devrait fonctionner, reste ce problème de sécurité qui n’est pas reglé et les imperfections du code. Pour les imperfections, une solution a été donnée dans ces forums (le 5 août 2005).


    Sinon, j’ai un petit problème concernant une expression que je souhaiterai passer par le filtre autolinks mais qui résiste à cause d’une apostrophe :) Par exemple : Terry O’Quinn . L’apostrophe après le "O" semble faire obstacle... Si quelqu’un à la solution, qu’il n’hesite pas, je sèche completement là...

    Merci ! :)

  • Répondre à ce message

    6 septembre 2006 12:35, par jfredd

    Bonjour,

    j’aurais voulu avoir si cette contrib marchait sous 1.9 ou si qqu’un travaillait sur un plugin "autolinks".

    Merci

  • Répondre à ce message

    19 juillet 2006 06:08, par saintvinasse

    Par "ceci" j’entendais bien sûr... Cela :

    Warning : Cannot modify header information - headers already sent by (output started at c :\program files\easyphp1-8\www\agecr.org\ecrire\autolinks.php3:10) in c :\program files\easyphp1-8\www\agecr.org\ecrire\inc_version.php3 on line 1097

    Warning : Cannot modify header information - headers already sent by (output started at c :\program files\easyphp1-8\www\agecr.org\ecrire\autolinks.php3:10) in c :\program files\easyphp1-8\www\agecr.org\ecrire\inc_version.php3 on line 1097

    Warning : Cannot modify header information - headers already sent by (output started at c :\program files\easyphp1-8\www\agecr.org\ecrire\autolinks.php3:10) in c :\program files\easyphp1-8\www\agecr.org\ecrire\inc_version.php3 on line 1097

    Warning : Cannot modify header information - headers already sent by (output started at c :\program files\easyphp1-8\www\agecr.org\ecrire\autolinks.php3:10) in c :\program files\easyphp1-8\www\agecr.org\ecrire\inc_version.php3 on line 1097

    Warning : Cannot modify header information - headers already sent by (output started at c :\program files\easyphp1-8\www\agecr.org\ecrire\autolinks.php3:10) in c :\program files\easyphp1-8\www\agecr.org\ecrire\inc_version.php3 on line 1097

  • Répondre à ce message

    19 juillet 2006 06:06, par saintvinasse

    Pourquoi j’ai ceci qui apparait lors de la dernière étape ? (allez sur l,administration par autolinks.php3)

    Je suis sur 1.8.7

    merci bien !

  • Répondre à ce message

    30 juin 2006 01:23, par marjorie

    Bonjour

    je suis très très intéressée par cette fonction, car j’en aurais bien besoin sur le site que je suis en train de créer. C’est un site à vocation musicale, consacré au groupe radiohead. Dans de nombreux articles, je parle de titres de chansons, et j’aimerais donc que quand un titre soit écrit quelque part un lien vers l’article traitant de cette chanson (par exemple) se crée automatiquement.

    J’ai installé et expérimenté toutes les solutions proposées ici, sans succès. je suis sous SPIP 1.8.3. (squette sandnyko modifié).

    Peut-on aussi créer ses liens après coup (car les articles sont déjà plus ou moins tous créés) ?

Pages 1 | 2 | 3 | 4

Répondre à cet article

Retour en haut de la page

Ça discute par ici

  • Formulaire de participation à un événement

    23 janvier – 16 commentaires

    Cet article tente de rassembler des informations au sujet de l’affichage d’un formulaire de participation aux événements gérés par le plugin Agenda développé par Cédric Morin. La version 2 du plugin Agenda permet d’afficher dans l’espace public des (...)

  • Plugin pour bannières 2

    16 novembre 2009 – 20 commentaires

    Ce plugin permet d’afficher et de gérer des campagnes d’information composées d’images ou animations. La balise #BANNIERE permet de positionner facilement cet objet dans vos squelettes. Plusieurs objets peuvent être placés sur la page et gérés en (...)

  • Un menu déroulant horizontal en plugin

    16 décembre 2006 – 89 commentaires

    Menu déroulant dynamique en plugin, sans limitation de niveaux de hiérarchie

  • Plugin Diapo

    11 décembre 2006 – 478 commentaires

    Plugin ajoutant le modèle <diapoXX> permettant d’insérer les images de l’article XX sous forme de galerie/diaporama reprenant le fonctionnement de la galerie Walma.

  • Plugin "En Travaux"

    25 janvier 2007 – 81 commentaires

    Ce plugin permet de créer une page qui va s’afficher à la place de vos pages web usuelles lorsque votre site doit subir une maintenance.