Je viens de mettre en place un petit compteur de mots sur mon forum, je vous en fais donc profiter tant que j'y suis, si cela peut intéresser du monde :)
Le principe est assez simple : au chargement (actualisation) / frappe de clavier / "change" (on clique ailleurs dans la page), le script va compter les mots qu'il y a dans le textarea et changer le texte de la barre en tête pour indiquer le nouveau compte.
Pour cela, il faut "simplement" ajouter un id au titre du tableau "Poster une réponse" pour le repérer facilement, puis ajouter un code Javascript (je l'ai mis sur toutes les pages personnellement).
Le template : Affichage > Templates > Poster & Messages Privés > posting_body
A la ligne 81 (pour moi, cherchez th height="28" class="thHead" si vous ne trouvez pas), remplacez
- Code:
<th height="28" class="thHead" colspan="2" valign="bottom">
- Code:
<th height="28" class="thHead" colspan="2" valign="bottom" id="titre_rep">
Le javascript : Modules > (HTML & Javascript) Gestion des codes Javascript > Créer un nouveau javascript
- Code:
jQuery(document).ready(function() {
function getWords() {
var words = $('#text_editor_textarea').val().split(' ');
var newArray = words.filter(function(v){return v!==''});
$('#titre_rep').text('Poster une réponse [' + newArray.length + ' mot(s)]');
}
$(function(){
getWords();
});
$('#text_editor_textarea').on('change',function() {
getWords();
});
$('#text_editor_textarea').on('keypress',function() {
getWords();
});
});
Normalement, vous devriez avoir ce rendu en répondant à un topic ou en créant un nouveau sujet :
- Spoiler:
Voilou
PS : Je pense essayer de l'améliorer plus tard, je vous en ferai part si j'y parviens ^^ !