删除ckeditor中的fMath图像属性对话框

时间:2013-11-19 19:16:21

标签: drupal-7 ckeditor

我对此感到有些困惑,所以如果你能提供帮助就会很棒。

我正在使用Drupal 7和Ckeditor 4.3。我正在开发一个集成了fmath方程编辑器的网站。

我已禁用图片按钮,因为我不希望最终用户能够上传自己的图片。另一方面,用户可以使用fMath插入方程式。 fMath处理方程式插入的方法是插入 img 标记。

当用户双击此图像或右键单击图像时,他们会访问图像属性对话框,在该对话框中,他们可以更改图像的源URL以及其他一些内容。在url输入文本中,他们可以更改图像的来源,以便他们可以在页面上插入自己的图像,这是我不想要的。

直到现在尝试解决这个问题时,一直在使用两种不同的不成功的方法:

  1. 从对话框中删除元素,作为对话框中的URL输入文本(以及alt文本)。
  2. 尝试禁用对话框本身。
  3. 我想使用自定义插件来完成所需的行为,因为我在Drupal中有不同的CKeditor配置文件。

    我没有成功。你知道我怎么能处理这种不良行为?

1 个答案:

答案 0 :(得分:0)

好的,我在 plugin.js 文件中得到了类似的内容:

CKEDITOR.plugins.add( 'custom_doubleclick',
{
init: function( editor )
{

  //  First part, dialogDefinition allow us to remove the
  // "Link" and "Advanced" tabs on the dialog  
  CKEDITOR.on( 'dialogDefinition', function( ev ) {

    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;
    if ( dialogName == 'image' ) {

      dialogDefinition.removeContents( 'Link' );
      dialogDefinition.removeContents( 'advanced' );

    }
  });

      // Second part, it disables the textUrl and txtAlt input text boxes

  editor.on( 'dialogShow', function( ev ) {

    var dialog = ev.data;
    var dialogName = dialog.getName();

    if ( dialogName == 'image' ) {
      //var dialog = CKEDITOR.dialog.getCurrent();
      // Get a reference to the Link Info tab.
      console.log(dialog)
      dialog.getContentElement( 'info','txtUrl' ).disable();
      dialog.getContentElement( 'info','txtAlt' ).disable();

    }
  });
}
});

正如您所看到的,我没有禁用对话框本身,而是禁用非有用的元素。我希望这可以帮助别人。