Sto creando un componente personalizzato e nella mia forma sto usando il tipo di campo modulo dell'editor. Ecco la documentazione: https://docs.joomla.org/Editor_form_field_type
Sembra che, indipendentemente dal valore impostato per l'attributo editor 'xtd' pulsanti ', non viene mostrato alcun pulsante. C'è un'eccezione, se l'attributo è impostato su true, vengono visualizzati tutti i pulsanti. Nel contesto del mio componente, sono applicabili solo i pulsanti articolo e immagine.
La documentazione sembra indicare che l'attributo 'pulsanti' dovrebbe includere una serie di pulsanti da escludere, in questo caso, interruzione di pagina e readmore. Ho provato diverse cose, nessuna delle quali ha avuto il risultato desiderato.
Come funziona davvero? Grazie per l'aiuto.
Prova qualcosa del genere:
buttons = "true" | Mostra tutti i pulsanti. hide = "articolo, immagine" | Una serie di pulsanti che vuoi nascondere.
<field
name="myeditor"
label ="label text"
type="editor"
editor="jce"
buttons="true"
width="450"
height="280"
hide="article,image"
filter="safehtml"
description="description text" />
Ciò che dovrebbe accadere è che passi una stringa di valori separati da virgola nel campo modulo dei pulsanti che non vuoi che appaiano. Questo viene esploso in un array qui: https://github.com/joomla/joomla-cms/blob/staging/libraries/cms/form/field/editor.php#L222
Nel campo modulo ottieni un'istanza JEditor e nel metodo getButtons lì filtrerà i pulsanti che elenchi. https://github.com/joomla/joomla-cms/blob/staging/libraries/cms/editor/editor.php#L436 Il nome dei pulsanti come puoi vedere dalla riga 450 dovrebbe essere il nome del plugin
Oltre a George Wilson la risposta:
Quando si crea un'istanza dell'editor direttamente nel codice sorgente, è possibile fornire una serie di pulsanti che devono essere nascosti al metodo display
dell'editor.
Normalmente, abiliteresti la visualizzazione di tutti i pulsanti fornendo true
al parametro buttons
, in questo modo:
$editor = JEditor::getInstance();
echo $editor->display(
'my-editor',
'Default value',
600,
100,
10,
10,
true // Show all buttons
);
Vedi https://api.joomla.org/cms-3/classes/JEditor.html#method_display . Secondo l'API, il parametro buttons
accetta un valore booleano true
o false
. In pratica, tuttavia, è possibile fornire un array come questo:
$editor = JEditor::getInstance();
echo $editor->display(
'my-editor',
'Default value',
600,
100,
10,
10,
array( 'article', 'pagebreak' ) // List of buttons that should be hidden
);
Credo che l'elenco completo dei nomi dei pulsanti che puoi nascondere sia: