web-dev-qa-db-fra.com

Créer un plugin personnalisé pour tinymce

J'essaie de créer mon propre plug-in de compteur de caractères pour l'éditeur tinymce dans Joomla 3, qui ressemblerait exactement au plugin wordcount. J'ai déjà le code javascript du plugin et ce fichier est enregistré dans son propre dossier dans "/ media/editors/tinymce/plugins/nameofplugin /". Après this tutorial, je devrais l'ajouter au tinymce.init en tant qu'option de plug-in à l'intérieur du "/media/editors/tinymce/tinymce.min.js" mais je ne trouve pas le champ tinymce.init dedans là. De plus, je doute que je devrais créer une étiquette pour le nombre de caractères, mais je ne sais pas comment modifier le fichier HTML de l'article.

Merci!

1
republicca

Bien que je ne sois pas un expert de TinyMCE, je cherche dans la version non terminée de tinymce.min.js _ Je dirais que tous les plugins sont chargés automatiquement (avec des thèmes et des langues) s’ils suivent la convention de les stocker dans le répertoire plugins:

/plugins/{plugin_name}/plugin.min.js

Voici le morceau de code que je pense est responsable du chargement:

function t() {
    var e = m.ScriptLoader;
    if (r.language && "en" != r.language && !r.language_url && (r.language_url = n.editorManager.baseURL + "/langs/" + r.language + ".js"), r.language_url && e.add(r.language_url), r.theme && "function" != typeof r.theme && "-" != r.theme.charAt(0) && !S.urls[r.theme]) {
        var t = r.theme_url;
        t = t ? n.documentBaseURI.toAbsolute(t) : "themes/" + r.theme + "/theme" + o + ".js", S.load(r.theme, t)
    }
    w.isArray(r.plugins) && (r.plugins = r.plugins.join(" ")), A(r.external_plugins, function(e, t) {
        T.load(t, e), r.plugins += " " + t
    }), A(r.plugins.split(/[ ,]/), function(e) {
        if (e = L(e), e && !T.urls[e])
            if ("-" == e.charAt(0)) {
                e = e.substr(1, e.length);
                var t = T.dependencies(e);
                A(t, function(e) {
                    var t = {
                        prefix: "plugins/",
                        resource: e,
                        suffix: "/plugin" + o + ".js"
                    };
                    e = T.createUrl(t, e), T.load(e.resource, e)
                })
            } else T.load(e, {
                prefix: "plugins/",
                resource: e,
                suffix: "/plugin" + o + ".js"
            })
    }), e.loadQueue(function() {
        n.removed || n.init()
    })
}
1
Dmitry Rekun