Personalizarea butonului Quicktags din editorul HTML pentru a deschide un dialog de alegere a opțiunilor de inserare

5 sept. 2011, 00:42:59
Vizualizări: 857
Voturi: 9

Caut să adaug butoane Quicktags personalizate, care să-mi permită să afișez un dialog intermediar înainte de a insera codul.

Situație

  1. Click pe un buton Quicktags deschide un dialog sau fereastră modală thickbox.
  2. Dialogul deschis afișează câteva opțiuni pentru clasă etc. și un buton "Inserare".
  3. Click pe butonul "Inserare" inserează codul.

Context

Pentru a adăuga un buton quicktags, am folosi:

edButtons[ edButtonsLength+ ] = new edButton(
    'ed_mybutton' , 'Insert button', '<div class="class-name">', '</div>'
);
////
edHTML += '<input type="button" value="Insert custom code" id="ed_my_button" class="ed_button" onclick="edInsertTag( edCanvas, edButtonLength_t + 1)" title="Insert code" />';

Cum pot să modific butonul pentru a deschide un dialog (sau fereastră modală thickbox) în loc să insereze direct?

Pot adăuga un buton fără să-l definesc, astfel:

edHTML += '<input type="button" value="Insert custom code" id="ed_my_button" class="ed_button" onclick="customFunction()" title="Insert code" />';
// și
var customFunction = function() {
   openURL = '<?php admin_url() ?>admin-ajax.php?action="insertCodeAction&TB_iframe=true';
   tb_show( 'Insert custom code', openURL );
};

Vă rog să împărtășiți din înțelepciunea voastră. Mulțumesc anticipat.

PS: realizarea acestui lucru cu TinyMCE este relativ ușoară, mă întreb cum să fac același lucru cu quicktags HTML. :)

1
Comentarii

Nu am nicio idee cum să adaug un modal, să deschid o casetă de dialog, dar o soluție pentru a înlocui codul pentru a publica ca context și a adăuga o clasă css, poate te ajută puțin. Găsești codul aici: https://github.com/bueltge/AddQuicktag/blob/master/js/add-quicktags.dev.js#L150

bueltge bueltge
1 iun. 2018 12:37:35
Toate răspunsurile la întrebare 1
1

Conform Codex, nu poți face asta direct prin API. Totuși, poți realiza acest lucru folosind propriul fișier quicktags.js, așa cum este prezentat mai jos.

function sample_load_admin_scripts()
{
  if ( is_admin() ) {
    wp_deregister_script('quicktags');
    wp_register_script('quicktags', ("/calea/către/quicktags.js"), false, '', true);
  }
}

if (is_admin()) {
  add_action('init', sample_load_admin_scripts);
}

Apoi, adaugă pur și simplu Javascript pentru a-ți face treaba. Formatarea este relativ ușoară, dar din moment ce știi cum să faci totul cu TinyMCE, nu voi intra în detalii. Obține aici propriul tău fișier quicktags.js.

16 apr. 2014 00:38:46
Comentarii

asta nu imi ofera rezultat

Amol Bhandari SJ Amol Bhandari SJ
25 nov. 2019 09:51:13