JanKoWeb: Tvorba webu - CKEditor plugin: plugin snadno a rychle aneb tlačítko pro vložení html
"Nemusí pršet, stačí když kape..."
JanKoWeb - návody, postřehy a rady ze světa softwaru pro každého.
Recenze knih a humorná tvorba pro chvíle oddechu...
Mezinárodní den biologické rozmanitosti.

Do východu slunce 6 hodin a 21 minut (vyjde 08:09, zapadne 16:00).

"Nezbytným krokem k tomu, abyste od života získali věci, po kterých toužíte, je rozhodnout se, co vlastně chcete."

B. Stein
Galerie nemohla být načtena.
Jméno:
Číselně: dva a jedna je
Jste-li neustále uchváceni svou prací, můžete si být naprosto jistí, že jdete správnou životní cestou.
Při každém obnovení stránky se zde vypíše zpráva skriptu.

Skript je zdrojový kód interpretovaného programu.

Pohání celý tento web a rád komunikuje s návštěvníky.-)
RSS RSS zdroj článků a novinek

CKEditor plugin: plugin snadno a rychle aneb tlačítko pro vložení html

Dlouho jsem hledal, jak vložit do CKEditoru v módu WYSIWYG nějaký html kód (typicky odkaz na nějaký článek s popisem, na což jsem si udělal bookmarklet).

Popisů, jak vytvořit plugin, je hodně, ale jsou dost zdlouhavé - CKEditor Plugin DevelopmentCreating a Simple CKEditor Plugin. Sám jsem se s tím pral přes dvě hodiny, a proto jsem sepsal tento stručný článek, který ukazuje, jak jednoduchý plugin vypadá a jak se přidá.. 

Vložení html - plugin

Na vložení html jsem si nakonec napsal jednoduchý plugin, zde je obsah souboru ckeditor/plugins/pastehtml/plugin.js:



/**
 * @license Copyright (c) 2013 JanKoWeb
 */

/**
 * @fileOverview Paste HTML Plugin
 */
// tato cast kodu pridava muj plugin do pluginu editoru
CKEDITOR.plugins.add( 'pastehtml',
{
	init: function( editor )
	{
		{
        var pluginName = 'pastehtml';
        // registrace prikazu pastehtml
        editor.addCommand(pluginName, CKEDITOR.plugins.pastehtml);
        // pridani tlacitka, nutno jeste rucne pridat do toolbaru
        editor.ui.addButton('PasteHtml',
            {
                label: 'Paste HTML',
                command: pluginName,
				icon: this.path + 'createlink.gif'
            });
    }
	}
} );
// vlastni funkce pluginu - vyuzil jsem javascriptoveho prikazu prompt (dialog), protoze vytvoreni dialogu je jinak na muj vkus zdlouhave
CKEDITOR.plugins.pastehtml = {
	exec: function( editor ) {
                // muj vlastni kod - dialog, kam uzivatel vlozi sve HTML a odentruje
		editor.insertHtml(prompt('HTML:',''));
	},
};

Potom stačí plugin aktivovat, pro zajímavost přikládám celé mé nastavení ckeditoru, které vkládám přímo do html:



 <script type="text/javascript">
              CKEDITOR.replace( 'cltext',
                {
                    fullPage : false, // pridat tag html do zdroje?
                    extraPlugins : 'syntaxhighlight,pastehtml', //AKTIVACE EXTERNICH PLUGINU
                    entities: false, // prevadet specialni znaky na entity?
                    contentsCss: "/etc/janko.css", // styl obsahu formulare
                    height: 600
                });
				
                CKEDITOR.config.toolbar_Full =
                    [
                    { name: 'tools',   items : [ 'Source','ShowBlocks','Maximize']},
                    { name: 'clipboards', items : ['Undo','Redo' ] },
                    { name: 'styles',      items : [ 'Styles' ] },
                    { name: 'paragraph',   items : [ 'NumberedList','BulletedList','-','Blockquote','-','JustifyCenter','PasteFromWord','RemoveFormat' ] },
                    { name: 'links',       items : [ 'Link','Unlink','Anchor','PasteHtml' ] }, //PASTE HTML TLACITKO
                    { name: 'insert',      items : [ 'Code','Image','Table'] },
                ];
                CKEDITOR.config.disableNativeSpellChecker = false;                                    
                CKEDITOR.config.forcePasteAsPlainText = true;         
                CKEDITOR.config.removePlugins = 'elementspath';
                				   
                CKEDITOR.config.keystrokes = 
                    [
					/*[CKEDITOR.CTRL + 86 /V/,  'pastetext' ], */
                    [ CKEDITOR.CTRL + 90 /*Z*/, 'undo' ],
                    [ CKEDITOR.CTRL + 89 /*Y*/, 'redo' ],

                    [ CKEDITOR.CTRL + 72 /*H*/, 'link' ],

                    [ CKEDITOR.CTRL + 66 /*B*/, 'bold' ],
                    [ CKEDITOR.CTRL + 73 /*I*/, 'italic' ],
                    [ CKEDITOR.CTRL + 85 /*U*/, 'underline' ],

                    [ CKEDITOR.CTRL + 43 /*43*/ /*1*/, 'h1' ],
                    [ CKEDITOR.CTRL + 236 /*2*/, 'H2' ],
                    [ CKEDITOR.CTRL + 154 /*3*/, 'heading-h3' ],
                    

                    [ CKEDITOR.CTRL + 83 /*S*/, 'save' ],
                ];
</script>
Rubrika Tvorba webu | Tagy Ckeditor | Čt 03.01.2013 | 2938x

Náhodné články

© 2008-2025 JK, kontakt, právní upozornění
Powered by Janko's RS| XHTML, CSS, RSS, analýza kódu, SEO servis, dostupnost, hosting, líbí se Vám tu?
Požadavek: 0.87759 s, generování: 0.03873 s, paměť: 1.21 MB, sql dotazů: 8, CPU: 17.16

.