Normalement, dans le glossaire, les mots sont séparés par un slash pour
permettre de trouver correspondance avec les différents versions d’un
mot. par exemple:
« ökologisch / ökologische / ökologischer / ökologisches / ökologischen »
me trouve toutes les déclinaisons du terme « ökologisch » dans les textes.
Mais je n’aimerais afficher que « ökologisch » dans la petite fenêtre qui
pop up, et également dans la liste des mots clés.
J’ai essayé de faire un match sur le titre: [(#TITRE|match{^\w+})], ce
qui devrait me sortir que le premier mot. Problème dans mon exemple: le
ö n’est pas un « word caracter », et pour les autres termes il ne me sort
que la premiere lettre. En plus j’ai parfois un terme composé de deux ou
trois mots avant le slash.
Est-ce qu’il y a un match possible pour faire: « n’afficher que ce
jusqu’au premier slash moins un espace » ou un truc comparable? Je ne
suis pas très regex…
Ou est-ce qu’il y a une solution pure SPIP?
Ou bien, ne serait-ce pas une idée d’intégrer dans le glossaire la
possibilité de pouvoir choisir de n’afficher que le premier terme du
mot, tout en trouvant les déclinaisons possibles?
Normalement, dans le glossaire, les mots sont séparés par un slash pour
permettre de trouver correspondance avec les différents versions d'un
mot. par exemple:
"ökologisch / ökologische / ökologischer / ökologisches / ökologischen"
me trouve toutes les déclinaisons du terme "ökologisch" dans les textes.
Mais je n'aimerais afficher que "ökologisch" dans la petite fenêtre qui
pop up, et également dans la liste des mots clés.
J'ai essayé de faire un match sur le titre: [(#TITRE|match{^\w+})], ce
qui devrait me sortir que le premier mot. Problème dans mon exemple: le
ö n'est pas un "word caracter", et pour les autres termes il ne me sort
que la premiere lettre. En plus j'ai parfois un terme composé de deux ou
trois mots avant le slash.
Est-ce qu'il y a un match possible pour faire: "n'afficher que ce
jusqu'au premier slash moins un espace" ou un truc comparable? Je ne
suis pas très regex...
Ou est-ce qu'il y a une solution pure SPIP?
Ou bien, ne serait-ce pas une idée d'intégrer dans le glossaire la
possibilité de pouvoir choisir de n'afficher que le premier terme du
mot, tout en trouvant les déclinaisons possibles?
Merci pour vos observations,
Martin
Peut-etre peux-tu écrire un filtre maison pour arriver à tes fins :
function premier_mot($titre) {
r = explode('/', $titre, 2);
return trim(r[0]);
}
puis : [(#TITRE|premier_mot)]
(non testé !)
J ai vu dans le code du glossar qu il y avait deja un explode qqpart, ce serait plus facile de pouvoir le recuperer directement labas mais bon, je tatonne en php…
En tous cvas pour moi ca marche comme ca pour l instant, un grand merci
Normalement, dans le glossaire, les mots sont séparés par un slash pour
permettre de trouver correspondance avec les différents versions d’un
mot. par exemple:
« ökologisch / ökologische / ökologischer / ökologisches / ökologischen »
me trouve toutes les déclinaisons du terme « ökologisch » dans les textes.
Mais je n’aimerais afficher que « ökologisch » dans la petite fenêtre qui
pop up, et également dans la liste des mots clés.
J’ai essayé de faire un match sur le titre: [(#TITRE|match{^\w+})], ce
qui devrait me sortir que le premier mot. Problème dans mon exemple: le
ö n’est pas un « word caracter », et pour les autres termes il ne me sort
que la premiere lettre. En plus j’ai parfois un terme composé de deux ou
trois mots avant le slash.
Est-ce qu’il y a un match possible pour faire: « n’afficher que ce
jusqu’au premier slash moins un espace » ou un truc comparable? Je ne
suis pas très regex…
Ou est-ce qu’il y a une solution pure SPIP?
Ou bien, ne serait-ce pas une idée d’intégrer dans le glossaire la
possibilité de pouvoir choisir de n’afficher que le premier terme du
mot, tout en trouvant les déclinaisons possibles?
Merci pour vos observations,
Martin
Peut-etre peux-tu écrire un filtre maison pour arriver à tes fins :
function premier_mot($titre) {
r = explode(‹ / ›, $titre, 2);
return trim(r[0]);
}
puis : [(#TITRE|premier_mot)]
(non testé !)