Cómo eliminar protocolos del dialog de enlace (ckeditor)

Quiero eliminar la opción para el dialog "otro" en ckeditor (enlaces -> protocolo).

Es confuso para el usuario; no especifican un protocolo, entonces el enlace busca un file en mi server (en lugar de un enlace externo, confundiendo al usuario).

Traté de eliminar la opción "otra" de link.js, pero eso no funcionó (aún aparece). Si lo elimino de los files de idioma, me pongo "indefinido" en lugar de otro. Intenté search todo como "ckeditor eliminar el protocolo de enlace" sin suerte.

Puede alguien ayudarme con esto?

Encontré la solución: haciendo cambios en el file config.js. (Siempre busco durante horas, finalmente decido pedir SO, luego obtengo una nueva idea y encuentro la solución solo un poco más tarde> <)

CKEDITOR.on( 'dialogDefinition', function( ev ) { // Take the dialog name and its definition from the event data. var dialogName = ev.data.name; var dialogDefinition = ev.data.definition; // Check if the definition is from the dialog we're // interested in (the 'link' dialog). if ( dialogName == 'link' ) { dialogDefinition.getContents('info').get('protocol')['items'].splice(4, 1); 

Esta parte está algo bien documentada. La búsqueda de Google para "eliminar las opciones desplegables" fue más exitosa.

dialogDefinition.getContents() obtiene la pestaña

get('protocol') obtiene el elemento de input

['items'].splice(4, 1) obtiene la propiedad del object que se devuelve arriba, y elimina el último elemento de la list (creo que podría usar pop pero lo que sea). Así que no hay más la other opción.

Tuvimos un problema similar y también eliminamos la otra opción de la list desplegable.

Modifique el siguiente text en el file link.js de la carpeta plugins \ link \ dialog

 items:[['http://‎','http://'],['https://‎','https://'],['ftp://‎','ftp://'],['news://‎','news://'],[E.other,'']] 

con este

 items:[['http://‎','http://'],['https://‎','https://'],['ftp://‎','ftp://'],['news://‎','news://']] 

y debería funcionar bien. Vea la captura de pantalla a continuación

enter image description here

 CKEDITOR.on( 'dialogDefinition', function( ev ) { // Take the dialog name and its definition from the event data. var dialogName = ev.data.name; var dialogDefinition = ev.data.definition; // Check if the definition is from the dialog we're // interested in (the 'link' dialog). if ( dialogName == 'link' ) { // Remove the 'Target' and 'Advanced' tabs from the 'Link' dialog. dialogDefinition.removeContents( 'target' ); dialogDefinition.removeContents( 'advanced' ); // Get a reference to the 'Link Info' tab. var infoTab = dialogDefinition.getContents( 'info' ); infoTab.remove( 'protocol'); } }); 

Coloque el código anterior en config.js del complemento ckeditor