A largura da ThickBox não pode ser alterada no admin

4

Estou tentando fazer pop-up na área de administração (na tela de pós-edição) e não posso deixar meu thickbox maior que 670px (largura: 670px).

Aqui está o meu código thickbox que mostra o thickbox:

tb_show( ed.getLang('m7.popup_title'), '#TB_inline?width=800&height=600&inlineId=mygallery-form' );

(funciona depois de clicar no botão tinyMCE) e eu recebo div com id="TB_window"

<div id="TB_window" style="width: 670px; height: 216px; margin-left: -335px; top: 48px; margin-top: 0px; visibility: visible;">

(o código é do navegador do Google)

Portanto, se eu alterar manualmente a largura e, em seguida, redimensionar o navegador, ele fornecerá 670 pixels de volta à largura. Pode ser de alguma forma alterado para que o thickbox mostre todo o conteúdo que tem 800px de largura?

cria um #TB_window div com id="TB_ajaxContent", que tem 800px de largura

    
por Maikal 14.09.2013 / 01:17

5 respostas

1

Do comentário abaixo da minha pergunta (pode ser que alguém possa sentir falta dele, então postar como resposta) [PS: ligeiramente modificado]:

Eu acho que encontrei uma solução para alterar a largura, mas essa não é a solução real. Eu ainda não entendi porque a largura do thickbox é de 670px (como você pode ver no meu código (seguirá a seguir) o global largura thickbox é definida como o arg passado!) Então a solução foi:

function m7_resize_thickbox(){
  jQuery(document).find('#TB_window').width(TB_WIDTH).height(TB_HEIGHT).css('margi‌​n-left', - TB_WIDTH / 2);
}

jQuery( document ).on( 'ready', function() {
  tb_show( ed.getLang('m7.popup_title'), '#TB_inline?width=800&height=600&inlineId=mygallery-form' );
  m7_resize_thickbox(); // after tb_show we need to update width/height values; we could also do something like jQuery( window ).trigger( 'resize' );
}

jQuery(window).on( 'resize', m7_resize_thickbox );
    
por Maikal 17.03.2016 / 07:14
1

Você está correto, não pode ser alterado e parece que não houve alteração desde a sua pergunta. Há um ticket se alguém estiver interessado em trabalhar nisso no núcleo do Wordpress ...

Wordpress Core Trac

    
por Ryan Bayne 08.03.2014 / 13:47
1

Eu sei que este post é antigo, mas você pode apenas redefinir o atributo style do elemento usando a função setAttribute logo abaixo do tb_show ().

 tb_show( ed.getLang('m7.popup_title'), '#TB_inline?width=800&height=600&inlineId=mygallery-form' );

// Get the id of the element
var tb = document.getElementById('TB_ajaxContent');

// set the attribute to an empty string or your desired width/height.
tb.setAttribute('style', '');

Se você definir o atributo style como uma string vazia, poderá usar o css de um arquivo externo em vez de inline.

    
por FiGO 16.03.2016 / 03:07
1

Para este caso, você pode usar css para forçar a largura mínima para 800px

#TB_window {
  min-width:800px!important;
}
    
por user3635808 28.05.2014 / 00:23
-1

solução possível - ligue para esta função ( enlace ):

add_thickbox(); 

em algum lugar no seu php para mim funcionou:)

    
por michal 17.10.2017 / 15:27

Tags