PlxMyComSmilies soucis d'affichage

Hello à tous,
petit soucis esthétique, je viens d'installer le plugin du smilies mais il décale le champs de texte libre, j'ai un peu bidouiller dans commentaires.php mais je trouve le hook nul part et fais divers essai mais rien de concluant.

Réponses

  • geekborggeekborg Member
    1 janv. modifié

    il te manque peut-être juste un petit retour à la ligne
    < /br >

    T'as regardé dans le dossier du theme ?

  • Salut @geekborg bonne année ;)

    J'ai regarder oui dans le fichier commentaires.php, j'avais tenter de mettre < /br > ou encore < br >juste avant
    <label for="id_content" class="lab_com"><?php $plxShow->lang('COMMENT') ?> :</label>
    ou
    <textarea id="id_content" name="content"><?php $plxShow->comGet('content',''); ?></textarea>

    Voir même avant les balises < p > < /p > contenant ce que j'ai mis dessus mais rien n'y fait, il y a aucuns hook du plugin smilies

    Puis j'ai essayer de placer br un peu partout mais je trouve pas lol, je vais jeter carrément un œil dans les fichiers du plugins.

  • Ce plugin officiel est obsolète, écrit il y a de nombreuses années 👅. Et le capitaine a quitté le navire 😭

    Dans le dossier du thème default créer un fichier smileys.js avec ceci :

    (function() {
        'use strict';
    
        // https://emojipedia.org/
    
        const textareas = document.getElementsByTagName('textarea');
        if(textareas.length > 0) {
            const content = textareas[0];
            const toolbar = document.createElement('P');
            toolbar.className = 'smileys';
            for(var i = 0x1F603; i<0x1F633; i++) {
                const el = document.createElement('SPAN');
                el.textContent = String.fromCodePoint(i);
                toolbar.appendChild(el);
            }
            const nextEl = content.nextElementSibling;
            if(nextEl == null) {
                content.parentElement.appendChild(toolbar);
            } else {
                content.parentElement.insertBefore(toolbar, nextEl);
            }
            toolbar.onclick = function(event) {
                if(event.target.tagName == 'SPAN') {
                    event.preventDefault();
                    content.focus();
                    const start = content.selectionStart;
                    if(typeof start == 'number') {
                        const end1 = content.selectionEnd;
                        content.value = content.value.substring(0, start) + 
                               event.target.textContent + 
                               content.value.substring(end1);
                    } else {
                        // IE6 ?
                        const selection = content1.selection;
                        if(typeof section !== 'undefined') {
                            const sel = selection.createRange();
                            sel.text = event.target.textContent;
                        } else {
                            alert(event.target.textContent);
                        }
                    }
                }
            };
    
            const styleEl = document.createElement('STYLE');
            document.head.appendChild(styleEl);
            const styleSheet = styleEl.sheet;
            [
                '.smileys { display: flex; gap: 0.5rem; flex-wrap: wrap; }',
                '.smileys span { cursor: pointer; }',
                'blockquote { font-style: normal; }',
            ].forEach(function (rule) {
                styleSheet.insertRule(rule, styleSheet.cssRules.length);
            });
        }
    })();
    

    Et dans le fichier commentaires.php du thème, ajouter après la balise fermante </script> :

    <script src="<?= PLX_ROOT.$plxMotor->aConf['racine_themes'] . $plxMotor->style ?>/smileys.js">
    </script>
    
  • petitpouyopetitpouyo Member
    1 janv. modifié

    Cool tout marche pour moi merci bien !

Connectez-vous ou Inscrivez-vous pour répondre.