【问题标题】:Ckeditor Link with basepathCKeditor 与基本路径的链接
【发布时间】:2015-10-24 12:31:21
【问题描述】:

我正在使用 CKeditor,但是我在暂存环境中对其进行了测试。然后我将它转移到生产中。问题是当我链接时我不想使用mysite.com,因为那样它只能在登台或生产上工作,但不能同时在两者上工作。相反,我想使用我的 basepath php 变量,它将自动确定使用 mysite.com/ 或 staging.mysite.com

有没有办法使用 CKeditor URL 链接选项来做到这一点。我尝试将其设置为:

/myfolder/mypage.php

使用其他协议,但是它将 URL 设置为 http///myfolder/mypage.php

这可能吗?或者有一个插件可以为我做到这一点?

我的 config.js 文件按要求:

CKEDITOR.editorConfig = function( config ) {
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
};

我确实找到了如何更改 Ckeditor 的基本路径,但这正是 ckeditor 安装路径所在的位置,我需要设置一个不同的路径,即基本路径

只是为了澄清,就像一张图片说一千个字一样:

它在 Ckeditor 工具栏中创建一个链接选项,允许您创建我所指的 URL 链接

【问题讨论】:

  • 请发布您的 CKEditor 配置
  • 按要求添加配置文件
  • 为什么要使用绝对网址?只需使用相对 url,浏览器将为您确定它
  • 查看我添加的新图像以澄清,它没有给我绝对与相对的选项。它只是给了我 http://, https://, ftp:// , news:// 和

标签: php ckeditor


【解决方案1】:

我知道这并不理想,因为它是一个 hack,但你可以去 ckeditor/plugins/link/dialogs/link.js 在代码中找到这个:

label:i.protocol,"default":"http://",items:[["http://‎","http://"],["https://‎","https://"],["ftp://‎","ftp://"],["news://‎","news://"],[b.other,""]]

然后只需在items 数组中添加另一个选项,例如["Base URL","/"]

我确实找到了可能也适合您需求的解决方案:http://ckeditor.com/forums/CKEditor-3.x/internal-pages-dropdown-link-dialog

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    查看 ckeditor 文档的this page

    这里他们说您可以使用以下语法设置基本路径:

    <script>
        var CKEDITOR_BASEPATH = '/ckeditor/';
    </script>    
    <script src="all_my_scripts.js"></script>
    

    我真的不明白你的问题到底是什么。如果您只是将基本路径设置为这样的相对路径,您将永远不需要更改它来改变环境。只需在开发和生产之间复制文件夹结构!

    【讨论】:

    • 这不是 ckeditor 基本路径吗?我指的是允许您在编辑器中创建 URL 链接的工具栏选项。当您选择有几个不同的 URL 协议、电子邮件、url、ftp 时,我想链接到一个 URL,比如说 google.com/mypage/1。但是我在 staging.google.com 上进行测试,所以在 staging 链接被破坏了。我希望有一种方法可以添加一个新的自定义协议,该协议允许我链接到 = basepath ?>/mypage/1 抱歉,我没有最好地解释它。如果我能提供帮助,请随时提出更多问题。也许有一个附加功能可以做到这一点,但我找不到它
    【解决方案3】:

    将ckeditor配置的'baseHref'设置为你当前所在环境的当前url , 'http://staging.google.com' 例如。您可以开始在编辑器中使用相对于此类路径的链接。例如,如果您有指向图像“http://staging.google/images/example.jpg”的 url,您只需在编辑器中插入“/images/example.jpg”,这应该会显示实际图像。希望这可以帮助。

    【讨论】:

      【解决方案4】:

      我相信 Mario Wakeel 有迄今为止最接近的答案(请注意,您需要查看 baseHref 和 not basePath):

      http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-baseHref

      如果您需要以编程方式设置此变量,我猜您需要使用一些简单的服务器端代码来检查正在从哪个域访问编辑器(在加载配置之前)。

      【讨论】:

        【解决方案5】:

        如果您查看 ckeditor.js,您会看到这一行:

        请在创建编辑器实例之前设置全局变量“CKEDITOR_BASEPATH”。

        因此,如果您想设置基本路径,以便所有上传文件和链接都有正确的路径,只需将此行添加到 ckeditor.js 文件中

        CKEDITOR_BASEPATH=your_relative_path

        或者你可以像这样设置全局变量

        var CKEDITOR_BASEPATH = your_relative_path;

        在包含 ckeditor.js 之前

        【讨论】:

          猜你喜欢
          • 2014-09-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-05
          • 2018-02-12
          • 1970-01-01
          • 1970-01-01
          • 2013-03-19
          相关资源
          最近更新 更多