SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

44 visiteurs en ce moment

fontsizeup fontsizedown
[5 commentaires]

Plugin Spipicious

samedi 5 janvier 2008, par ashaszin, kent1, NicolasR

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
0 vote

Plugin permettant l’ajout simple de mots clefs (« tags ») via l’interface publique de spip.

Le nom et le principe d’interface de ce plugin sont inspirés du site anglo-saxon de partage de signets (bookmarks) del.icio.us

Il permet l’ajout aisé de mots clefs aux articles, documents et rubriques ; cela depuis l’interface publique de spip.

Ces mots clefs appartiennent à un groupe de mots clefs à choisir lors du paramètrage.

On peut choisir quel profil d’utilisateur aura la possibilité d’ajouter ces « tags » : administrateurs et/ou rédacteurs et/ou visiteurs.

Enfin, ce plugin propose une autocomplétion lors de l’ajout de mots clefs.

Prérequis

Spipicious Jquery nécessite :

  • SPIP2 (révision minimale svn : 11000)
  • le plugin Sélecteur Générique de Fil (utilisé pour l’autocomplétion)
  • le plugin CFG de marcimat (pour le paramètrage aisé du plugin)

Installation

  • Décompressez le contenu de l’archive du plugin dans le répertoire /plugins situé à la raçine de votre site.
  • Activez le plugin via le sous menu « gestion des plugins » du menu « configuration »

cf : l’article "installer un plugin" sur spip.net

Paramètrage

Le paramètrage du plugin se fait via le sous-menu « CFG » du menu « configuration »

La page de configuration du plugin permet de choisir :

  • Le ou les type(s) d’utilisateurs pour qui ces formulaires apparaîtront dans l’espace public. (on peut choisir plusieurs types d’utilisateurs en maintenant la touche Ctrl appuyée lors de la sélection).
  • Le groupe de mot clef qui sera utilisé par les formulaires spipicious d’ajout de mots clefs dans l’espace public.

Intégration dans les squelettes : codes à insérer

Ce plugin fournit une nouvelle balise et une noisette (fragment de squelette), à insérer dans son propre squelette, qui permettent l’affichage :

  • du formulaire de sélection de mots clef
  • de la liste des mots clef déjà associés, ainsi que l’identité de l’utilisateur qui l’a inséré.

Formulaire public de sélection de mots clef :

  • Pour ajouter des mots clefs aux articles, ajoutez le code suivant au sein d’une boucle article :
  • Pour les documents, ajoutez le code suivant au sein d’une boucle document :
  • Pour les rubriques, ajoutez le code suivant au sein d’une boucle rubrique :

Liste des mots clefs / auteurs :

De la même manière, ajoutez :

  • au sein d’une boucle article :
  • au sein d’une boucle document :
  • au sein d’une boucle rubrique :

Utilisation

Ce plugin fournit un formulaire dans vos articles, documents ou rubriques.

L’utilisation est simple. Si en tapant au moins deux lettres, un mot clé existant correspond à ce qui est inséré dans l’input du formulaire, le sélecteur générique vous propose alors les choix possible. Si vous n’êtes pas satisfait des choix proposés, vous pouvez taper votre mot en entier.

Il est possible d’ajouter plusieurs mot clés en une fois en les séparant par un point virgule et un espace «  ; ».

Ici le sélecteur générique a détecté le mot clé « Bluetooth » existant au préalable.

Auteur et crédit

L’auteur du plugin est kent1

Une partie du code du plugin est tirée du plugin spipicious original réalisé par erational.

Retour en haut de la page

5 Messages de forum

Voir toute la discussion

  • Répondre à ce message

    2 mai 16:36 , par perig

    D’abord bravo et merci à Kent et Nicolas pour ce plugin qui marche du tonnerre !

    Une remarque pour ceux qui ont renommé leur préfixe de table lors de l’installation de la base. Dans les fichiers

    - spipicious_del_article-html
    - spipicious_del_document.html

    pensez à modifier le préfixe de table dans la boucle en remplaçant "SPIP" par le vôtre. Sinon, vous aurez une erreur sql (j’ai perdu quelques heures à éplucher le plugin avant de comprendre d’où venait l’erreur ! Economisez votre temps...)

  • Répondre à ce message

    30 mars 18:39 , par yohm

    Bonjour,

    Je suis en train de monter un site en spip 1.9.2d et j’aimerai y implanter spipicious. Pourrais tu me faire parvenir le code que tu as utilisé à l’adresse suivante : gryohm+spip@gmail.com ?

    Merci !!

  • Répondre à ce message

    24 mars 14:05 , par peamak

    Salut !

    J’ai voulu installer ce plugin génial sur mon spip 1.9.2 mais comme indiqué, ça ne fonctionne pas...

    J’ai alors seulement modifié le fichier formulaire_spipicious_ajax.php avec un morceau de code trouvé dans le plugin Gribouille, dans la page compat_gribouille.php qui permet d’utiliser certaines requêtes inconnues dans la 1.9.2

    Dans formulaire_spipicious_ajax.php, juste après (ligne 3)

    if (!defined("_ECRIRE_INC_VERSION")) return ; #securite

    Rajouter :

    define(’_COMPAT_192’, true) ;

    /* fichier de compatibilite vers spip 1.9.2 */ if (version_compare($GLOBALS[’spip_version_code’], ’1.9300’, ’<’) AND $f = charger_fonction(’compat_192’, ’inc’)) $f() ;

    function inc_compat_192_dist($quoi = NULL) if (!function_exists($f = ’compat_192_defs’)) $f .= ’_dist’ ; $defs = $f() ;

    if (is_string($quoi)) $quoi = array($quoi) ; else if (is_null($quoi)) $quoi = array_keys($defs) ;

    foreach ($quoi as $d) if (!function_exists($d) AND isset($defs[$d])) eval ("function $d".$defs[$d]) ;

    function compat_192_defs_dist() $defs = array( ’sql_fetch’ => ’( $res, $serveur=\’\’ ) return spip_fetch_array($res) ; ’, ’sql_query’ => ’($res, $serveur=\’\’) return spip_query_db($res) ; ’, // n’existe pas en 1.9.2 ’sql_alter’ => ’($res, $serveur=\’\’) return spip_query_db(\’ALTER \’ . $res) ; ’, // n’existe pas en 1.9.2 // on cree la requete directement ’sql_delete’ => ’($table, $where=\’\’, $serveur=\’\’) if (!is_array($table)) $table = array($table) ; if (!is_array($where)) $where = array($where) ; $query = \’DELETE FROM \’ . implode(\’,\’, $table) . \’ WHERE \’ . implode(\’ AND \’, $where) ; return spip_query_db($query) ; ’, // sql_quote : _q directement ’sql_quote’ => ’( $val, $serveur=\’\’ ) return _q($val) ; ’, ’sql_select’ => ’( $select = array(), $from = array(), $where = array(), $groupby = array(), $orderby = array(), $limit = \’\’, $having = array(), $serveur=\’\’ ) return spip_abstract_select( $select, $from, $where, $groupby, $orderby, $limit, $limit, $sousrequete = \’\’, $having, $table = \’\’, $id = \’\’, $serveur) ; ’, // n’existe pas en 1.9.2 // on cree la requete directement ’sql_update’ => ’( $table, $champs, $where=\’\’, $desc=array(), $serveur=\’\’ ) if (!is_array($table)) $table = array($table) ; if (!is_array($champs)) $champs = array($champs) ; if (!is_array($where)) $where = array($where) ;

    $query = $r = \’\’ ; foreach ($champs as $champ => $val) $r .= \’,\’ . $champ . "=$val" ; if ($r = substr($r, 1)) $query = \’UPDATE \’ . implode(\’,\’, $table) . \’ SET \’ . $r . (empty($where) ? \’\’ :\’ WHERE \’ . implode(\’ AND \’, $where)) ; if ($query) return spip_query_db($query) ; ’,

    ’sql_updateq’ => ’( $table, $champs, $where=\’\’, $desc=array(), $serveur=\’\’ ) if (!is_array($champs)) $exp = array($champs) ; foreach ($champs as $k => $val) $champs[$k] = sql_quote($val) ; return sql_update( $table, $champs, $where, $desc, $serveur ) ; ’, // n’existe pas en 1.9.2 // on cree la requete directement ’sql_insertq’ => ’( $table, $champs ) if (!is_array($champs)) $exp = array($champs) ; foreach ($champs as $k => $val) $champs[$k] = sql_quote($val) ; $query = "INSERT INTO $table (".implode(",", array_keys($champs)).") VALUES (".implode(",", $champs).")" ; return sql_query($query) ; ’, ’sql_showtable’ => ’($table, $serveur=\’\’) return spip_abstract_showtable($table, \’mysql\’, true) ; ’,

    ’sql_count’ => ’( $res, $serveur=\’\’ ) return spip_mysql_count($res) ; ’, ’sql_selectdb’ => ’( $res, $serveur=\’\’ ) $GLOBALS[\’spip_mysql_db\’] = mysql_select_db($res) ; return $GLOBALS[\’spip_mysql_db\’] ; ’, ) ; return $defs ;

    Et wouala ! chez moi ça fonctionne (SPIP 1.9.2d [11132] et Spipicious 0.3)

    Le quote ci-dessus ne garde pas la mise en page de ma page php donc je peux envoyer directement la bonne page modifiée, par email, à l’auteur du plugin si vous êtes intéressés

  • Répondre à ce message

    6 janvier 19:39 , par Gilles
  • Répondre à ce message

    6 janvier 19:36 , par Gilles

    Bonjour,

    comment peut-on récupérer le plugin, si possible sans utiliser svn. On peut certes le récupérer dans l’archive complète des plugins (http://miroirspip.ventre.name/build...), mais il y a peut-être un lien direct ailleurs..

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0