Formátovací tlačítko v Editoru

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Formátovací tlačítko v Editoru

Zvolené téma obsahuje celkem 5 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel  sjiamnocna a poslední změna je stará 11 let, 3 měsíce.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)
  • Autor
    Příspěvky
  • #2507

    sjiamnocna
    Participant
    Web

    Ahoj. Chtěl bych se zeptat, jestli je to možné, na takovou věc:

    Chtěl bych si vytvořit tlačítko, které bych mohl přidat do editoru. Nejde však o to, abych vypsal nějaký text, ale abych uzavřel text do nějakých HTML značek (které si sám upravím), podobně jako formátuje text např. tlačítko B (tučné), nebo i (kurzíva).

    Moc prosím… Pořád nacházím návody k vytváření tlačítek, ale ani jeden neřeší to čeho chci dosáhnout.

    Našel jsem toto

    Adding a Custom Button to TinyMCE

    Menu button

    Potřebuji, abych měl v Editoru, vlastní tlačítko, které <b>nebude vkládat žádný text</b>, ale bude formátovat text nějakým tagem. Mělo by být v klasickém editoru a ne v HTML (jako dělají pluginy). Je to vůbec možné?

    #13562

    admin
    Keymaster
    Web

    Máme tu podobný (také zatím bohužel nezodpovězený) dotaz. Je to trochu složitější problém, ale vyřešit určitě jde. Výše uvedené odkazy se zabývají pouze úpravou samotného TinyMCE editoru, ale ten je ještě integrován ve WordPressu, takže je to celé ještě trochu složitější…

    Základní informace k vlastním tlačítkům pro vizuální editor jsou dostupné v manuálu. Další povedené a přehledné návody (anglicky):

    Jak přidat vlastní tlačítko do TinyMCE ve WordPressu (ukázka i malého okna s možnou nabídkou nastavení po kliknutí na vlastní ikonku).

    – Jako příklad můžete použít plugin Custom TinyMCE Shortcode Button, který funguje velmi podobně, a to tak, že přidává do vizuálního editoru vlastní tlačítko a po jeho kliknutí je do textu vkládán zvolený zkrácený zápis (aneb shortcode). Stačí si pak tento plugin trochu modifikovat, aby místo shortcode vkládal nějaké HTML značky. A podobný návod, který v podstatě popisuje tvorbu tohoto pluginu.

    – Asi nejlepší mi ale přijde tento návod, který popisuje přesně to, co potřebujete (tedy vkládání HTML, a to i s označováním textu v editoru).

    Vyzkoušejte a můžeme případně řešit některé dílčí problémy. Bohužel ale nemáme v současné době kapacity na přípravu podrobného návodu v češtině…

    #13563

    sjiamnocna
    Participant
    Web

    Děkuji alespoň za jednu kladnou odpověď :) Nějak to vyzkouším, a dám vědět…

    #13564

    sjiamnocna
    Participant
    Web

    Tak jsem hlouběji zkoumal zdroj tinymce ve WP-includes, ale v žádném *.JS ani *.PHP jsem nenašel žádný script, ani kousek z těch základních tlačítek. Jde mi jenom o to, že když upravuje nějaký text zaznačený tabulátorem, musí jej uložit buďto do proměnné, nebo funkce (podle mně), a tu potom dát mezi ty dvě části, ale vůbec nevím jestli to tak je. V případě že jo, prosím vás abyste mi někdo uvedl nějakou kompletní ukázku… Prosím Prosím

    #13565

    sjiamnocna
    Participant
    Web

    Tak jsem se rozhodl povrtat v nějakém již zavedeném, a funkčním pluginu, abych zjistil, jak dosáhnout toho co potřebuju; stáhnul jsem si plugin Syntax Highlighter TinyMCE Plugin. Zatím jsem vyšpáral toto:`

    var code = document.getElementById(‘shtb_adv_codebox_code’).value.replace(/&/g,’&’).replace(/</g,'<‘).replace(/</g,'<‘).replace(/rn/g,'<br />’);

    code = code.replace(/n|r/g,'<br />’);

    code = code.replace(/>/g,’>’).replace(/”/g,'”‘).replace(/’/g,”’);

    var tagtext = ‘<pre class=”brush: ‘;

    classAttribs = langname;

    if (linenumbers)

    classAttribs = classAttribs + ‘; gutter: true’;

    else

    classAttribs = classAttribs + ‘; gutter: false’;

    if (starting_linenumber)

    classAttribs = classAttribs + ‘; first-line: ‘ + starting_linenumber;

    else

    classAttribs = classAttribs;

    if (highlight_lines)

    classAttribs = classAttribs + ‘; highlight: ‘;

    else

    classAttribs = classAttribs;

    if (html_script)

    classAttribs = classAttribs + ‘; html-script: true’;

    else

    classAttribs = classAttribs;

    if(starting_linenumber.match(/[^0-9]+/)){

    alert(“Please input number to the ‘Starting Line Number’ column”);

    return;

    } else if(highlight_lines != “” && highlight_lines.match(/[^,0-9]/)){

    alert(“Please input a linenumber or comma-separated linenumbers to the ‘Highlighted Lines’ column”);

    return;

    } else if (code == ”) {

    alert(“Your code is empty”);

    } else {

    tinyMCEPopup.editor.execCommand(‘mceInsertContent’, false, tagtext+classAttribs+'”>’+code+'</pre>’);

    }

    tinyMCEPopup.close();

    return;

    }`ze souboru tinymce.js tohoto pluginu. Zatím se to snážím pochopit a v té souvislosti bych zase potřeboval drobné nakopnutí, ohledně zpracovávání proměnné code, které nechápu, neboť ta zjevně zastupuje označený text, při vkládáni pomocí pre a text z textarea při vkládání code.

    #13567

    sjiamnocna
    Participant
    Web

    Ahojky. Už mě z ty pokusy docela přestaly bavit, tak se chci zeptat jestli by mi někdo nemohl něco takového sestrojit, a když se domluvíme jsem za to ochoten udělit pár korun odměny. Napište mi kdyžtak na mail, a já vám řeknu co bych potřeboval… jancikuvmail(zavináč)gmail.com

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti