Rychlý start
1. Zkopírujte plugin
Složku plugin/bootstrapui/ z balíčku nakopírujte do složky plugins/ vašeho TinyMCE, takže vznikne:
tinymce/
├── tinymce.min.js
└── plugins/
└── bootstrapui/
├── plugin.min.js
└── langs/
TinyMCE pak plugin najde podle jména. Když TinyMCE načítáte z CDN nebo Tiny Cloudu, dejte složku kamkoli na svůj server a podívejte se níž na TinyMCE z CDN nebo Tiny Cloudu.
2. Vložte init
Tohle je úplná konfigurace se všemi tlačítky, položkami nabídek a plovoucími lištami; stejná běží v živém demu. Změňte jen selector a dvě cesty k souborům Bootstrapu:
<script src="/tinymce/tinymce.min.js"></script>
<script>
tinymce.init({
selector: '#content', // váš <textarea>
license_key: 'gpl', // TinyMCE 7 a 8 na vlastním serveru (nebo váš komerční klíč); TinyMCE 6 ho ignoruje
plugins: 'lists link table quickbars code bootstrapui',
menubar: 'file edit view insert format table help',
menu: {
insert: {
title: 'Insert',
items: 'bootstrapuicontainer bootstrapuilayout bootstrapuibutton bootstrapuialert bootstrapuibadge bootstrapuicard bootstrapuilistgroup bootstrapuiprogress bootstrapuiaccordion bootstrapuispinner bootstrapuibuttongroup bootstrapuipagination bootstrapuibreadcrumb bootstrapuidropdown bootstrapuicollapse bootstrapuicarousel bootstrapuinav bootstrapuinavbar bootstrapuiscrollspy bootstrapuitable bootstrapuiclose bootstrapuicomponents bootstrapuiclasses | link inserttable | hr',
},
},
toolbar: [
'undo redo | styles | bold italic underline | alignleft aligncenter alignright | bullist numlist | link table tablemergecells tablesplitcells | code',
'bootstrapui | bootstrapuicontainer bootstrapuibutton bootstrapuicomponents bootstrapuiclasses bootstrapuistyles | bootstrapuilayout bootstrapuirow bootstrapuicolumn | bootstrapuieditrow bootstrapuieditcolumn bootstrapuiduplicaterow bootstrapuiduplicatecolumn | bootstrapuileft bootstrapuiright bootstrapuiremovecolumn bootstrapuiremoverow bootstrapuipath bootstrapuistructure',
'bootstrapuibutton bootstrapuibadge bootstrapuialert bootstrapuicard bootstrapuilistgroup bootstrapuitable bootstrapuifigure bootstrapuitypography bootstrapuiformcontrol bootstrapuiplaceholder bootstrapuiprogress bootstrapuispinner bootstrapuiclose | bootstrapuibuttongroup bootstrapuipagination bootstrapuibreadcrumb bootstrapuinav bootstrapuinavbar bootstrapuiscrollspy | bootstrapuiaccordion bootstrapuicollapse bootstrapuidropdown bootstrapuicarousel | bootstrapuitoast bootstrapuimodal bootstrapuioffcanvas bootstrapuitooltip bootstrapuipopover',
],
quickbars_selection_toolbar: 'bold italic underline | quicklink blockquote | bootstrapuitypography | bootstrapuitablemenu tablemergecells tablesplitcells',
quickbars_insert_toolbar: 'bootstrapuilayout quicktable | hr',
table_toolbar: 'bootstrapuieditui bootstrapuitablecell bootstrapuitablemenu | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol | tablemergecells tablesplitcells',
table_resize_bars: false, // Bootstrap určuje velikost tabulek třídami, ne inline width/height
contextmenu: 'link table bootstrapuilayout',
content_css: ['default', '/assets/bootstrap.min.css'], // Bootstrap v editační ploše
bootstrapui_css: '/assets/bootstrap.min.css', // POVINNÉ: Bootstrap pro náhledy v dialozích
bootstrapui_js: '/assets/bootstrap.bundle.min.js', // nepovinné: „Přehrát / otevřít“ v náhledech
});
</script>
Otevřete stránku a editor funguje. Klikněte na prvky stránky (Components) a uvidíte vše, co plugin umí vložit, nebo pokračujte Základním použitím.
Plugin nikdy nenačítá Bootstrap sám. Když chybí bootstrapui_css, funguje dál, ale řekne to v editoru, v konzoli i v každém náhledu. bootstrapui_css a bootstrapui_js ovlivňují jen náhledy v dialozích; na zveřejněné stránce dodává Bootstrap váš web.
3. Co se liší podle verzí
| Nasazení | Co v initu výše změnit |
|---|---|
| TinyMCE 6, 7 nebo 8 na vlastním serveru | Nic. Stejný init funguje na všech třech. license_key: 'gpl' potřebují verze 7 a 8 pod licencí GPL (s komerční licencí TinyMCE uveďte svůj klíč); šestka ho ignoruje. |
| Tiny Cloud | Odeberte license_key (API klíč je v adrese skriptu) a plugin načtěte přes external_plugins, viz níže. |
| Bootstrap 5.3 | Nic, je výchozí. |
| Bootstrap 4.6 | Přidejte bootstrapui_version: '4' a bootstrapui_js dejte jako seznam s jQuery na začátku, viz níže. |
| Jiný jazyk | Přidejte vlastní volbu TinyMCE language (a jeho jazykový balíček); plugin se jí řídí, viz Překlad. |
TinyMCE z CDN nebo Tiny Cloudu
TinyMCE hledá pluginy vedle sebe, a to v tomhle případě není váš server. Dejte plugin/bootstrapui/ kamkoli na svůj server a přidejte (bootstrapui v plugins nechte):
external_plugins: { bootstrapui: '/js/bootstrapui/plugin.min.js' },
Bootstrap 4.6
Tři řádky s Bootstrapem nahraďte těmito:
content_css: ['default', '/assets/bootstrap-4.6.2.min.css'],
bootstrapui_version: '4',
bootstrapui_css: '/assets/bootstrap-4.6.2.min.css',
bootstrapui_js: ['/assets/jquery.min.js', '/assets/bootstrap-4.6.2.bundle.min.js'],
jQuery musí být první: bundle Bootstrapu 4 obsahuje Popper, ale ne jQuery, a náhled je izolovaný iframe, takže jQuery z vaší stránky v něm není. Tlačítka komponent, které Bootstrap 4 nemá (akordeon, offcanvas, placeholder), z lišty zmizí sama, zbytek initu zůstává stejný. Podrobnosti jsou v Konfiguraci.
Bundler (webpack, Vite)
Místo kopírování složky naimportujte ES modul z balíčku (cestu upravte podle toho, kde ho máte) a použijte stejný tinymce.init:
import tinymce from 'tinymce';
import registerBootstrapUi from './vendor/bootstrapui/plugin.esm.js';
registerBootstrapUi(tinymce);
4. Méně tlačítek
Všechna nepotřebujete. Nejmenší užitečná lišta je rozbalovací nabídka Bootstrap, která obsahuje všechny komponenty i nástroje mřížky:
plugins: 'lists table quickbars bootstrapui',
toolbar: 'undo redo | styles | bold italic | bootstrapui bootstrapuicomponents',
Co které tlačítko dělá, najdete v Příkladech konfigurace. Soubor example/tinymce-init.js v balíčku obsahuje stejnou konfiguraci jako výše, s komentářem u každé volby.