2015-11-20 20 views
11

Ho un problema su TinyMCE e Plone 5 ma non sono sicuro che il nocciolo del problema sia in Plone CMS o TinyMCE.Plone 5: perché TinyMCE disabilita gli stili in linea personalizzati?

Sto aggiungendo stili personalizzati nella configurazione del pannello di controllo TinyMCE ("Impostazioni TinyMCE" -> "Stili in linea").

La nuova configurazione è qualcosa di simile:

Bold|bold|bold 
Italic|italic|italic 
Underline|underline|underline 
Strikethrough|strikethrough|strikethrough 
Superscript|superscript|superscript 
Subscript|subscript|subscript 
Code|code|code 
Custom style|customClass|custom-class 

Poi l'editor TinyMCE rende il menu correttamente:

enter image description here

Ma la voce notizia è "disattivato", cliccando su di esso sarà fare niente. Ispezione della marcatura del menu TinyMCE trovo:

<div aria-checked="false" aria-disabled="true" role="menuitem" id="mceu_155" class="mce-menu-item mce-menu-item-preview mce-stack-layout-item mce-last mce-disabled" tabindex="-1"> 
    <i class="mce-ico mce-i-custom-class"></i>&nbsp; 
    <span id="mceu_155-text" class="mce-text">Custom style</span> 
</div> 

Quindi: TinyMCE è disabilitarlo. Il problema sembra correlato alla classe che sto usando, non al nome che ho dato o all'icona mancante. Se io uso un duplicato di un altro stile, come ...

... 
Custom style|italic|custom-class 

... funziona. Lo stesso se uso un'altra classe Plone come ...

... 
Custom style|discreet|custom-class 

... ma in qualche modo altre classi non sono consentite.

Si riferisce a interni TinyMCE? TinyMCE in qualche modo "verifica" la classe per abilitarli/disabilitarli? Oppure questo problema è legato a Plone?

+0

Si noti che la sintassi per gli stili in linea sta per "Your Format Title | format_id | icon'. Per gli stili di blocco non hai l'icona. Quindi è diverso da tinymce.xml di Plone 4 in cui specifichi 'Your Format Title | tag | class'. Ecco perché hai bisogno della struttura JSON aggiuntiva, lì definisci ogni formato, digitato dal suo id. Vedi https://github.com/davilima6/smdu.participacao/blob/master/src/smdu/participacao/profiles/default/registry.xml#L57-L96 –

risposta

5

Dopo sacco di debugging, me perdere all'interno del mockup + Plone JSON conf + TinyMCE inferno, ho trovato una soluzione per che caso d'uso:

Avere supplementare e lavorare stile in linea è una questione di entrambi "Inline stili "configurazione ...

enter image description here

... e" formati "configurazione ...

enter image description here

Quindi: è possibile configurare facilmente questo anche attraverso configurazione generica fornendo un registry.xml come segue:

<registry> 

    <record name="plone.inline_styles" interface="Products.CMFPlone.interfaces.controlpanel.ITinyMCESchema" field="inline_styles"> 
     <value> 
      <element>Bold|bold|bold</element> 
      <element>Italic|italic|italic</element> 
      <element>Underline|underline|underline</element> 
      <element>Strikethrough|strikethrough|strikethrough</element> 
      <element>Superscript|superscript|superscript</element> 
      <element>Subscript|subscript|subscript</element> 
      <element>Code|code|code</element> 
      <element>Foo Bar Baz|foo|foo</element> 
     </value> 
    </record> 

    <record name="plone.formats" interface="Products.CMFPlone.interfaces.controlpanel.ITinyMCESchema" field="formats"> 
     <value>{ 
    "clearfix": { 
     "classes": "clearfix", 
     "block": "div" 
    }, 
    "discreet": { 
     "inline": "span", 
     "classes": "discreet" 
    }, 
    "foo": { 
     "inline": "span", 
     "classes": "foo" 
    } 
} 
</value> 
    </record> 

</registry> 

NOTA: questo è non correlata al contenuto del menu "Formati".

enter image description here

Styles ci vengono caricati automaticamente dai ++plone++static/tinymce-styles.css fogli di stile, grazie al plugin TinyMCE importcss.

Vedere https://github.com/plone/Products.CMFPlone/issues/492 e https://github.com/plone/Products.CMFPlone/issues/1264 per ulteriori informazioni.

+2

Epoca speleologia! –

+0

Sono contento di averlo trovato prima di iniziare a capire come aggiungere stili personalizzati! Wow, grazie per aver capito questo! – Christina

+0

Vedere anche https://github.com/plone/Products.CMFPlone/issues/1264#issuecomment-368617473 - spiega come personalizzare l'intero contenuto del menu dei formati – sunew

Problemi correlati