Ultimate Tag Cloud : un nuage de tags pour MODx
Introduction
J'utilise sur ce site depuis le début le snippet TagCloud, et j'ai décidé de l'améliorer fortement.Voici quelques unes de ces fonctionnalités :
- Construction automatique, sans besoin de préciser des tags pour chaque page (compte les mots et les range par quantité)
- Recherche récursive
- Exclusion de mots 'courants' via des fichiers de langues (pour l'instant seul un fichier français a été réalisé)
- Exclusion des caractères de contrôles via des fichiers de langues
- Detection automatique des pluriels courants des mots et 'fusion' des mots singuliers et pluriels dans un même tag (tout au moins fonctionne en français)
- Le rendu est paramétrable par templates (chunks ou fichiers) et css
- Plusieurs tagClouds différents sont possibles sur une même page
- Colorisation des mots, possibilité de nombre de couleurs différentes potentiellement illimité (nécéssite autant de configuration des css)
- Possibilité de paramétrer lors du lancement un certain nombre d'éléments consititutif du nuage :
- nombre d'occurences minimales des mots à afficher
- nombre de lettre minimales pour un mot
- nombre total de mots maximum dans le nuage
- taille minimale de la police
- taille maximale de la police
Installation
L'installation est classique pour un snippet modx :
- créez un répertoire UtagCloud dans le répertoire assets/snippets/ de votre site
- copiez le contenu de l'archive dans ce UtagCloud
- dans modx, créez un snippet nommé 'UtagCloud'
- copiez le contenu du fichier UtagCloud_snippet.php.txt dans le contenu du snippet
- Ensuite dans une page, invoquez le snippet comme vous avez l'habitude de le faire (voir les exemples plus bas)
Paramètres
Voici l'explication des paramètres en français. Pour une explication en anglais, veuillez vous référer à l'entête du fichier UtagCloud_snippet.php.txt
- &parent = liste des répertoires modx contenant des documents, séparés par une virgule. Si vous utilisez le paramètre récusif ci-après, vous pouvez mettre `0` dans parent pour parcourir tout le site.
- &recursive = [ 0 | 1 ] : Détermine si UtagCloud scanne les répertoires et documents modx récursivement ou non.
- &min = [ number ] : Nombre minimum d'occurence d'un mot afin qu'il soit affiché dans le nuage.
- &landing = [ number ] : l'ID de page de résultat de la recherche : chaque clic sur un mot du tag générera une recherche (FlexSearch) et aboutira sur cette page de résultat. Si vous n'avez pas de page de résultat, créez en une avec à l'intérieur :
- &minsize = [ number ] : Nombre de lettres minimale d'un mot pour qu'il soit affiché dans le nuage.
- &wordsmax = [ number ] : Nombre maximum de mots du nuage. Indiquez zéro (`0`) pour un nombre illimité.
- &fontmin = [ number ] : Taille minimum de la police de caractère en % (pour les mots avec la plus petite occurence).
- &fontmax = [ number ] : Taille maximum de la police de caractère en % (pour les mots avec la plus grande occurence).
- &lang = [ text ] : Paramètre de langue pour lire les fichiers d'exclusion.
- &template = [ text ] : nom d'un Chunk ou d'un fichier dans templates/ qui sera utilisé pour affiche le contenu du nuage.
- &css = [ text ] : nom du fichier css qui sera inclus au document. Pratique si vous utilisez styleid, pour séparer les styles différents de vos nuages.
- &styleid = [ text | number ] : nouvelle instance de style (css) pour votre nuage. Permet d'avoir plusieurs nuages de style différents sur une même page.
- &colors = [ number ] : nombre de couleurs différentes pour les mots du nuage.
- &plural_letter = [ text ] : définit la lettre qui sert à mettre au pluriel les mots de façon la plus courante (en français c'est le 's'). Permet de regrouper les mots singuliers et pluriels en un seul mot pour tout compter d'un coup. Si vous ne souhaitez pas utiliser cette fonctionnalité, définisez `#` comme valeur à ce paramètre.
Styles d'affichage (css) :
UtagCloud utilise principalement deux classes de style, mais qui sont déclinable en fonction du styleid et du nombre de couleurs définies :- .Utagcloud_XXX : où XXX est le styleid (par défaut c'est `0`)
- .Utagcloudtext_XXX_CCC : où XXX est toujours le styleid et où CCC est la couleurID
par exemple, si nous avons paramétré 5 couleurs, et que le styleid est celui par défaut, il faudra définir dans la css les styles suivants :
- .UtagCloud_0 {} : pour le div contenant le nuage.
- .UtagCloudtext_0_1 {} : pour le texte de couleur numéro 1
- .UtagCloudtext_0_2 {} : pour le texte de couleur numéro 2
- .UtagCloudtext_0_3 {} : pour le texte de couleur numéro 3
- .UtagCloudtext_0_4 {} : pour le texte de couleur numéro 4
- .UtagCloudtext_0_5 {} : pour le texte de couleur numéro 5
Télécharger l'archive
| Filename | Filesize | Date | |
|---|---|---|---|
| . UtagCloud_v2.0alpha3.zip | 11.52 kB | 2008-08-11 | |
Des exemples de nuages de tags :
exemple 1: [[UtagCloud?recursive=`1` &lang=`fr` &min=`5` &wordsmax=`100` &fontmin=`70` &fontmax=`500` &colors=`5` &landing=`40`]]
;
ajax
appel
arbre
avoir
base
boite
cas
catalogue
champ
classe
code
comme
ctx
côté
date
debug
deux
django
doit
down
encore
ensuite
exemple
faire
fait
faut
fichier
fois
fonction
formulaire
function
gadget
get
gérer
html
item
jour
lampe
led
level_order
liste
macro
mail
method
mettre
name
nb4
new
node
node_parent
node_path
nom
nombre
objects
objet
off
outlook
page
paramètre
path
permet
peut
post
pouvez
request
répertoire
save
selected
self
sera
serveur
simple
site
soit
son
sont
sous
suis
taille
temps
texte
this
to_item
tree
type
update
utiliser
valeur
validation
value
vue
xml
élément
être
exemple 2: [[UtagCloud?recursive=`1` &lang=`fr` &min=`5` &styleid=`big` &minsize=`4` &wordsmax=`0` &fontmin=`100` &fontmax=`600` &colors=`5` &landing=`40`]]
"button"
;
;
;
;
action
addevent
address>
adresse
affichage
affiche
afficher
after
ajax
ajouter
allons
appel
appelle
application
après
arborescence
arbre
archive
arrivée
assez
attachs
attachés
attention
aura
aussi
auto
automatique
automatiquement
autonomie
avant
avez
avoir
avons
barre
base
before
besoin
beziercurveto
bloc
boite
boite1
boite2
bonne
bord
bouchon
bout
boîte
c_elementname
c_histo
canvas
catalogue
catalogue_item
certain
champ
changer
choisi
choses
ci-dessous
circuit
class
classe
clef
client
cliquez
code
collier
comme
commentaires
completer
config
container
contenu
cookie
copie
correspond
couleur
côté
date
debug
delete
depuis
dernière
dessus
destinataire
deux
diamètre
différentes
différents
directement
django
doit
down
début
défaut
démo
départ
elif
else
email
encore
enregistrement
ensuite
entre
environ
erreur
etat
exactement
except
exchange
exemple
faire
fait
faut
façon
fichier
filter
filtrage
fois
fonction
fonctionnalité
fonctionne
formulaire
français
function
gadget
gestion
getstyle
gros
gérer
habitude
haut
height
heure
html
http
hésitez
idée
image
inbox
indent_level
indiquez
input
insert
insert_type
insertform
insertion
inside
instant
intérieur
item
items_list
javascript
jour
juste
lampe
leds
left
level_order
lhtmloutput
lien
lien_height
lien_width
linewidth
liste
load
lors
macro
mail
manchon
maximum
menu
message
method
mettre
minimum
mise
models
modification
modx
moins
mootools
mootree
mots
move
move_type
moveto
méthode
name
new_level_order
new_node_parent
niveau
node
node_name
node_parent
node_path
noeud
nombre
notamment
nouveau
nuage
null
number
numéro
nécessaire
objects
objet
obligatoire
offset
onclick
oncomplete
ordre
outils
outlook
page
paramètre
parent
part
partie
partir
passe
passer
path
permet
petit
petite
peut
peut-être
photos
piles
plongée
point
position
possible
post
pouvez
pratique
premier
première
principe
puis
python
père
quand
real
recherche
relais
rendre
renvoie
représente
request
reste
result
retour
return
rien
règle
réaliser
réalisé
réception
récupère
récupérer
répertoire
résultat
sauvegarde
save
schéma
script
selected
self
sera
seront
sert
serveur
seul
seule
simple
simplement
site
soit
solution
sont
souhaitez
sous
status
stroke
strokestyle
structure
style
submit
suffit
suis
suite
suivant
supprime
système
sûr
table
tableau
tags
taille
temps
text
texte
this
to_item
toint
toujours
trait
tree
trop
trouver
trouverez
trouvé
true
tuyau
tuyaux
type
uniquement
update
urls
utilisant
utilisateur
utilisation
utilise
utiliser
utilisé
valeur
validation
value
version
vista
vraiment
vérifier
width
yahoo
Ã
également
élément
était
été
éviter
être
exemple 3: meme style que le précédent, mais uniquement réalisé sur le texte de cette page : [[UtagCloud?parent=`93` &recursive=`0` &lang=`fr` &min=`3` &styleid=`big` &minsize=`3` &wordsmax=`0` &fontmin=`80` &fontmax=`450` &colors=`5` &landing=`40`]]
et un 'Candy' pour tester : [[UtagCloud?recursive=`1` &lang=`fr` &min=`8` &styleid=`candy` &css=`UtagCloud_candy.css` &minsize=`5` &wordsmax=`0` &fontmin=`150` &fontmax=`800` &colors=`5` &landing=`40`]]
exemple 3: meme style que le précédent, mais uniquement réalisé sur le texte de cette page : [[UtagCloud?parent=`93` &recursive=`0` &lang=`fr` &min=`3` &styleid=`big` &minsize=`3` &wordsmax=`0` &fontmin=`80` &fontmax=`450` &colors=`5` &landing=`40`]]
contenu
couleur
css
exemple
fichier
français
modx
mot
nombre
nuage
number
numéro
page
snippet
style
styleid
tags
taille
text
texte
utagcloud
et un 'Candy' pour tester : [[UtagCloud?recursive=`1` &lang=`fr` &min=`8` &styleid=`candy` &css=`UtagCloud_candy.css` &minsize=`5` &wordsmax=`0` &fontmin=`150` &fontmax=`800` &colors=`5` &landing=`40`]]
;
;
;
;
address>
adresse
affiche
afficher
after
appel
application
après
arbre
archive
assez
attachs
attention
avant
avoir
before
beziercurveto
boite
boîte
c_histo
canvas
catalogue
catalogue_item
champ
changer
choisi
circuit
class
classe
client
cliquez
comme
côté
debug
delete
depuis
destinataire
diamètre
différentes
directement
django
début
défaut
départ
email
encore
ensuite
entre
erreur
exemple
faire
fichier
fonction
fonctionnalités
formulaire
function
gadget
gestion
getstyle
gérer
input
insert
insert_type
insertform
insertion
inside
intérieur
items_list
javascript
lampe
level_order
lhtmloutput
lien_height
lien_width
liste
macro
mails
manchon
message
method
mettre
moins
mootools
mootree
move_type
moveto
node_name
node_parent
node_path
noeud
nombre
notamment
nouveau
nuage
numéro
nécessaire
objects
objet
offset
ordre
outils
outlook
paramètre
parent
partie
partir
passer
permet
petit
petite
piles
point
position
possible
pouvez
pratique
première
principe
python
père
request
result
retour
réalisé
réception
récupère
répertoire
résultat
script
selected
seront
serveur
simple
simplement
structure
style
suite
système
table
taille
temps
texte
to_item
toint
trouver
update
utilisant
utilise
utiliser
utilisé
valeur
validation
value
version
vraiment