Wordpress 2.6, TinyMCE

por Walter Cruz on 11/08/2008
in PHP

Usando o wordpress 2.6, que vem com o TinyMCE 3.1.1 (que a propósito, não é bem um 3.1.1), mesmo depois deu ter conseguido habilitar o plugin para tabelas do TinyMCE (ei, elas podem ser úteis e necessárias em alguns contextos), a tela ficava como no screenshot abaixo.

Wordpress TinyMCE

Após ler alguns posts, eu consegui 'resolver' (vulgo, usar um tipo leve de POG) para fazer funcionar. Segue os passos!

  1. Baixar o TinyMCE do site
  2. Copiar o plugin table para wp-includes/js/tinymce/plugins
  3. Editar o wp-includes/js/tinymce/tiny_mce_config.php e incluir o 'table' no array $plugins;
  4. Editar o wp-includes/js/tinymce/tiny_mce_config.php e incluir o 'tablecontrols' no array $mce_buttons_3;

Verifique também se não existe um cache do javascript do tiny_mce. Ele fica em /wp-content/uploads/js_cache. Você pode precisar apagá-lo para que suas configurações do plugin sejam lidas. Adicionalmente, você pode desabilitar o cache em wp-includes/js/tinymce/tiny_mce_config.php .

Se tudo correu bem até aqui, o seu editor de tabelas no tinyMCE deverá estar funcionando como o meu.

Segundo um comentário no fórum do tinymce, a chamada (!tinymce.ScriptLoader.isDone(u)) na função requireLangPack nunca retornava verdadeiro. Como Javascript nos permite fazer alterar um método dinamicamente, podemos aplicar um pequeno hack no table.js, logo no início do arquivo, antes da chamana a requireLangPack:


tinyMCEPopup.requireLangPack = function () {
    var u = this.getWindowArg("plugin_url") || this.getWindowArg("theme_url");
    if (u && this.editor.settings.language) {
        u += "/langs/" + this.editor.settings.language + "_dlg.js";
        tinymce.ScriptLoader.lookup[u] = {state:0} //HACK MALIGNO
        if (!tinymce.ScriptLoader.isDone(u)) {
            document.write("&ltscript type="text/javascript" src="" + tinymce._addVer(u) + "">");
            tinymce.ScriptLoader.markDone(u);
        }
    }
}
 

Basicamente, estamos fazendo um HACK MALIGNO, dizendo que o script nunca está carregado, portanto, sempre o carregue. Se você estiver usando o locale pt_BR no wordpress, vai precisar criar um arquivo pt_dlg.js na pasta langs do plugin table.

Curioso para saber o que eu ando fazendo com wordpress? Dá uma olhada no site da China 2008!

Endereço de trackback para este post

Trackback URL (clique direito e copie atalho/localização do link)

4 comentários


Notice: Undefined index: comment_secret in /home/walter/repositories/whissip-dev/blogs/inc/comments/model/_comment.class.php on line 161
  1. sergio lima says :

    Está passando pro outro lado da força :-)

    Nosso jedi do b2evolution ;-)

  2. Walter Cruz (Member) Email says :

    Hehhee.. Apenas observando o outro lado ;)

  3. ****-

    Leca... 88|

    []'s

  4. Marcus says :
    *****

    Além de ser ótimo, este artigo me ajudou a encontrar o que eu estava procurando há muito tempo: O local onde se poderia modificar as configs do tiny. Agora conseguirei inserir/retirar todos os botões que desejo! eu acho... :-)

Share Your Thoughts


Seu endereço de e-mail não será revelado nesse site.

Sua URL será exibida.
PobreExcelente
(Quebras de linha se tornam <br />)
(Nome, e-mail & website)
(Permitir que usuários o contatem através de um formulário eletrônico (seu e-mail não será exibido.))
Subscribe to comments by email

You can just use your OpenID to provide your name, e-mail and url.