liferay6.2 集成CKEditor和ckfinder

我的环境为liferay6.2,CKEditor4.4.3,ckfinder2.4.1 集成java


1.下载工具包

 CKEditor 下载地址  http://ckeditor.com/download

  下载后为 ckeditor_4.4.3_standard.zip

 下载java所需的jar文件 ckeditor-java-core-3.5.3.zip


 ckfinder  下载地址  http://ckfinder.com/download

  下载后为  ckfinder_java_2.4.1.zip


2. 整合

 解压上面下载的三个文件,将ckeditor_4.4.3_standard.zip解压的文件全部复制到项目中 docroot 根目录下,

接着解压:ckfinder_java_2.2.1.zip,将ckfinder_java_2.2.1/ckfinder下的 CKFinderJava.war再次解压,找到CKFinderJava下的ckfinder文件夹,将其拷贝到docroot 根目录下


结构图:



接下来就是整合所需要的jar包,到刚才解压的war 包( CKFinderJava.war)下找,位置如下:ckfinder\CKFinderJava\WEB-INF\lib


将jar包全部拷贝放到项目docroot--> WEB-INF --> lib下

接着把配置文件:config.xml也拷贝到docroot/WEB-INF下

配置文件同样到刚才解压的WAR下找,路径为:ckfinder\CKFinderJava\WEB-INF


打开config.xml,
第二行的<enabled>false</enabled>换成:<enabled>true</enabled> <!--是否开启图片上传功能-->

第四行的<baseURL>/test-portlet/userfiles/</baseURL> 换成<baseURL>/CkeditorForJava/userfiles/</baseURL> <!--图片上传后的位置-->

注意:此处的test-portlet是根据你的项目名定的。


打开web.xml,添加以下内容


<filter>
        <filter-name>FileUploadFilter</filter-name>
        <filter-class>com.ckfinder.connector.FileUploadFilter</filter-class>
        <init-param>
            <param-name>sessionCookieName</param-name>
            <param-value>JSESSIONID</param-value>
        </init-param>
        <init-param>
            <param-name>sessionParameterName</param-name>
            <param-value>jsessionid</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>FileUploadFilter</filter-name>
        <url-pattern>/ckfinder/core/connector/java/connector.java</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>ConnectorServlet</servlet-name>
        <servlet-class>com.ckfinder.connector.ConnectorServlet</servlet-class>
        <init-param>
            <param-name>XMLConfig</param-name>
            <param-value>/WEB-INF/config.xml </param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>ConnectorServlet</servlet-name>

        <!-- 注意这里的路径要和ckfinder的放置路径完全保持一致才行 -->
        <url-pattern>/ckfinder/core/connector/java/connector.java</url-pattern>
    </servlet-mapping>

我放在docroot下面 所以配置 /ckfinder/core/connector/java/connector.java
你要是放在docroot/js下面 就直接配置js/ckfinder/core/connector/java/connector.java


新建portlet页面

view.jsp  代码

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>

<portlet:defineObjects />

<script type="text/javascript" src="/test-portlet/CKEditor/ckeditor.js"></script>
<script type="text/javascript" src="/test-portlet/ckfinder/ckfinder.js"></script>
<script type="text/javascript" src="/test-portlet/html/ckedit/textEditor.js"></script>

<table>
    <tr>
        <td>标题</td>
        <td><input id="editTitle" name="editTitle" type="text" /></td>
        <td>类型</td>
        <td>
            <select id="editType">
                <option value="0">常规</option>
                <option value="1">博客</option>
            </select>
        </td>
    </tr>
    <tr>
        <td>上市时间段</td>
        <td colspan="3">
            <input id="start" type="text"/>&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;<input id="end" type="text"/>
        </td>
    </tr>
    <tr>
        <td>标签</td>
        <td colspan="3">
            <input type="text" style="width: 80%;"/>
        </td>
    </tr>
</table>
<br/>

<!-- 文本编辑器 -->
<textarea id="textEditor"></textarea>

<div><input type="button" value="提交" οnclick="submitData();"></div>


textEditor.js  代码

var ckeditorText;

$(document).ready(function() {
    initCKEditor();
});

/**
 * 提交数据
 */
function submitData() {
    // 取值
    console.info(ckeditorText.getData());
}

/**
 * 初始化编辑器
 */
function initCKEditor() {

    if (CKEDITOR.instances['textEditor']) {
        CKEDITOR.remove(CKEDITOR.instances['textEditor']);
    }

  // 项目名称
    var basePath = '/test-portlet/';
    // CKEDITOR.replace("textEditor");

   // 配置修改ckfinder     路径不能出错,出错就出不来,此配置也可以在ckeditor文件夹下的config.js中做修改
    ckeditorText = CKEDITOR
            .replace(
                    "textEditor",
                    {
                        filebrowserBrowseUrl : basePath
                                + 'ckfinder/ckfinder.html',
                        filebrowserImageBrowseUrl : basePath
                                + 'ckfinder/ckfinder.html?type=Images',
                        filebrowserFlashBrowseUrl : basePath
                                + 'ckfinder/ckfinder.html?type=Flash',
                        filebrowserUploadUrl : basePath
                                + 'ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files',
                        filebrowserImageUploadUrl : basePath
                                + 'ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images',
                        filebrowserFlashUploadUrl : basePath
                                + 'ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash',
                        filebrowserWindowWidth : '1000',
                        filebrowserWindowHeight : '1000'
                    });

   
}

配置完后就可以正常启动了。效果




3.优化

移除这些无用的信息



1:去掉右上说明,打开ckfinder下面的ckfinder.js文件,查找<h4 class='message_content' ></h4>,此标签上添加隐藏样式style='display:none;',则第一处信息可以消失

2. 去掉左下角说明方法,打开ckfinder下面的ckfinder.js文件,查找this.dV().getChild(0).appendHtml,其他变量会变,屏蔽这句代码就可以

/**if(!D)this.dV().getChild(0).appendHtml(A||B||y!=4?t:u+"\x3c\142\076"+k.htmlEncode(a.ed)+"\x3c\057\142\076\074\x2f\x64\x69\x76\x3e");*/

则左下面的说明会消失


 



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值