Cette contribution adapte la précédente (Smileys) au système de points d’entrée dans le traitement des raccourcis SPIP apparue avec la version 1.7.2.
Cette adaptation présente plusieurs avantages par rapport à la précédente contribution (Smileys) :
- présenté sous forme de point d’entrée, il n’y a plus besoin de rajouter le nom du filtre dans les squelettes (
|smileys
par exemple[(#TEXTE|smileys)]
) [1] ; - le plugin permet d’afficher les frimousses (smileys) dès la prévisualisation (très utile dans les forum par exemple car, dorénavant, on peux voir le smiley avant de valider définitivement le post ;
- la contribution ajoute des chaînes alternatives (alt) aux images, permettant de définir clairement ce qui est affiché à l’écran [2].
Les icônes viennent du site de Jimmac
Comment installer la contrib Frimousses
Il faut :
- copier le répertoire des frimousses où vous le souhaitez (par défaut dans le répertoire NAVPICS) et puis compléter ou modifier la variable $chemin au début du fichier plug_smileys.php.
Par exemple, si vos frimousses se trouvent dans le répertoire /smileys à la racine de votre site, vous devrez avoir au début de la fonction smileys dans le fichier plug_smileys.php les lignes suivantes :
if($flag_ecrire)
$chemin = "../smileys/";
else
$chemin = "smileys/";
ainsi qu’à la ligne 103 :
$chemin = "smileys/";
- ensuite, il faut placer le fichier plug_smileys.php dans le répertoire racine de votre site :
- et enfin, il faut déclarer le nouveau point d’entrée dans ecrire/mes_options.php3 :
if( !@file_exists(_DIR_RESTREINT_ABS . 'inc_version.php3')) {
include('../plug_smileys.php');
} else {
include('plug_smileys.php');
}
function avant_propre($texte) {
$texte = smileys($texte);
return $texte;
}
ATTENTION : s’il existe déjà une fonction avant_propre dans votre fichier ecrire/mes_options.php3 il faut ajouter la ligne $texte = smileys($texte);
tout au début et ne mettre que les lignes 1 à 5 du code précédent.
- et si l’on veut avoir des chaînes alternatives traduites dans les langues de son site [3], copier-coller le contenu de ce fichier suivant dans ecrire/lang/perso.php3
Afficher une liste des smileys disponibles
Ce Point d’entrée défini aussi une nouvelle balise : #SMILEY_DISPO
que l’on peut placer dans ses squelettes pour afficher (par exemple à côté du formulaire de forum) les frimousses qui seront traduites en image.
Cette balise affiche une simple liste qui peut être personnalisée avec les classes css :
- listes_smileys qui contient la liste ;
- smiley_nom le nom de la frimousse ;
- smiley_image l’image ;
- smiley_alt la chaîne alternative de la frimousse.
Voici par exemple des styles applicables à cette liste :
ul.listes_smileys {
padding: 0;
margin: 0;
float: right;
max-width: 30%;
min-width: 4em;
}
ul.listes_smileys li.un_smiley {
list-style-type: none;
float: left;
border: 1px dashed;
width: 3em;
text-align: center;
padding: 3px;
margin: 0px;
}
ul.listes_smileys li.un_smiley IMG.smiley_image {
vertical-align: middle;
margin: 5px 0 0 1em;
display: block;
align: center;
border: 0;
}
ul.listes_smileys li.un_smiley span.smiley_alt {
display:none;
}
Discussions par date d’activité
10 discussions
Pour info après changement des bornes
compatibilite=« [3.0.0 ;3.2.*] »
RAS
Répondre à ce message
Bonjour, j’ai noté un petit bug, lorsque quelqu’un envoie un message privé avec un titre de ce genre :
« Bonjour :) »
Il en résulte que le smiley textuel se transforme en un code html assez indigeste pour un humain…
En tout cas merci pour ce plugin bien sympa.
Répondre à ce message
Bonjour,
J’ai fait évoluer le plugin qui dispose maintenant de son entrée dans le Porte Plume.
Ça pourrait être utile que je mette la documentation à jour ?
Ce serait pas mal d’avoir un petit screenshot de ce que cela donne dans le porte-plume non ?
Répondre à ce message
Bonjour !
J’essaie d’installer les smileys sur mon blog. Etant débutante, je patauge...J’ai recopié les images dans un dossier img et j’ai donc changé les chemins dans le fichier plug_smileys.php que j’ai placé à la racine. J’ai rajouté le code dans le fichier mes_fonctions.php3 propre à spipclear placé également à la racine et adapté le css. J’ai ensuite placé la balise après le formulaire...Je pense que l’erreur vient de là...J’ai essayé plusieurs combinaisons sans résultats... Une idée ?
qu’est ce qui se passe exactement ?
qu’est ce qui ne marche pas ? la liste ne s’affiche pas ?
et si tu mets un smilley dans un texte, est-ce qu’il s’affiche ?
peut être tu peux t’inspirer de cette contrib :http://www.spip-contrib.net/ecrire/...
Merci de m’avoir répondu si rapidement...
La liste ne s’affiche pas et les smileys dans le texte non plus...mais j’ai peut-être pas bien placé ma balise cfr code source...Ton exemple n’est pas accesible, il faut un mot de passe...
Autant pour moi, mot de passe envoyé après inscription...Bon j’ai suivi la démarche du wiki et les smileys apparaissent :.) mais ils n’interagissent pas...problème avec cette ligne de code :
Parse error : parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/shim/julie/Web/mes_fonctions.php3 on line 234
le code du wiki etait pas à jour, mais celui de la contrib que je t’ai pointé si.
Il aurait suffit de t’inscrire, tu verras c’est la caverne d’ali baba de l’autre côté, il y a plein de contrib à tester avant qu’on puisse les publier.
Enfin, j’ai mis le wiki à jour si jamais :D
Ok tout marche correctement !
Et c’est une vraie caverne d’alibaba !
Répondre à ce message
Attention ! les smileys sont trop permissifs. Il vaut mieux ne conserver que ceux qui comportent le nez ( - ) sinon vous risquez d’avoir des surprises, genre :
... USB)
Répondre à ce message
La fonction ne gère pas bien les smileys en fin de phrase car elle nécessite un espace avant et après le smiley pour que çà fonctionne. Avec cette petite modif :
cà règle le problème ;-).
Oui, ça traine depuis un moment et j’avais jamais trouvé la bonne solution.
Merci
je vais corriger dans le plugin à venir pour la 1.9, pour cette version, je laisse les gens corriger par eux même.
Répondre à ce message
Tout d’abord, bonjour, et merci pour cette génialissime contrib !
J’ai réussi à l’installer, seul hic, seuls les messages de forum appliquent cette fonction.
Or le filtre précédent, le Smileys II permettait d’inclure des smileys visibles dans les titres... comment procéder pour que cette fonction soit généralisable sur les éléments tels que les titres également ?
Comme je débute, je n’ai pas su résoudre ce mystère mystérieux toute seule... Une idée ? (si il faut, c’est super simple, mais bon, je dbute, donc...)
merci merci merci par avance à tous ceux qui me répondraient !
Effectivement, la méthode utilisée n’est pas appliquer aux titres par spip.
Tu pourrais essayer de renomer la fonction avant_propre en avant_typo dans le fichier mes_options.php3, je ne suis pas certain, mais ça réglera peut être le problème.
Sinon, ce que tu peux faire, c’est mettre dans tes squelettes :
[(#TITRE|smileys)]
à la place de#TITRE
Ca marche !!!!!!!!!!!!!!!!! Rhâaaaaaaaaaaa !!!! :))
Merci bôcou, cher ange !
Répondre à ce message
Bonsoir,
J’esais désespérément de modifier mon fichier « article_edit.php » pour qu’il m’affiche la liste des smileys pouvant être intégrés. La balise #SMILEY_DISPO ne fonctionnant pas ici, j’ai voulu insérer directement la fonction « balise_SMILEY_DISPO($p) », mais quel arguement dois-je faire passer dans $p ? car rien ne s’afiche...
C’est vraiment domage de ne pouvoir avoir accès à cette liste que dans les forums public...
Répondre à ce message
As-tu une astuce pour que la liste des smileys disponiblent apparaissent dans l’admin ? Ce serait intéressant pour les rédacteurs.
malheureusement, non, pas sans modifié les sources de SPIP.
Merci pour tes réponses, j’aimerais quand même implémanter cette fonction dans l’admin.
Je sais que c’est délicat, mais as-tu une piste ?
Tu trouveras l’essentiel de la composition des formualires de forum de l’admin dans
ecrire/forum_envoi.php3
En dehors des soucis de mise en page, je ne pense pas que tu rencontreras de gros soucis
Répondre à ce message
Pour que celà fonctionne sur ma 1.8, il à fallut mettre ’inc_version.php3’ en ’inc_version.php’ dans le fichier « mes_options.php »
ça doit être parce que tu as une distribution php et non php3 de la 1.8, c’est un cas spécial.
il faudra aussi modifier les appels dans le fichier inclus alors.
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |