opencms页面编辑模式研究

引入:

成都创新互联公司主要从事成都网站设计、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务安化,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

opencms中引入了直接编辑页面的能力,因为我本身对页面编辑特性不是很感兴趣,所以这里就从技术角度分享一些常见的分析opencms中页面的方法。

实践:找到指定文件的对应代码

比如,我们要分析在VFS中的"Offline"模式下的/site/default/demo/text-block 模块下的index.html.

首先,我们在workplace中选中此文件,然后右键选择Properties, 然后切换到第二个tab,可以查看它用的模板的路径:

opencms 页面编辑模式研究

此路径为:/system/modules/com.alkacon.bootstrap.formatters/templates/bootstrap-page.jsp

我们发起数据库查询,根据此路径查询CMS_OFFLINE_STRUCTURE表,获取该页面对应的RESOURCE_ID.  SQL语句为:

select * from cms_offline_structure where 
resource_path='/system/modules/com.alkacon.bootstrap.formatters/templates/bootstrap-page.jsp';

我们在根据RESOURCE_ID查找CMS_OFFLINE_RESOURCES表,获取真实的页面代码. SQL语句是:

select * from cms_offline_contents where resource_id ='be01129d-1a1a-11e3-9358-000c29f9a2ec';

这时就可以打开这个BLOB文件查看其内容了:

<%@page buffer="none" session="false" trimDirectiveWhitespaces="true" %><%--
--%><%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %><%--
--%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><%--
--%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %><%--
--%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%--
--%>


    OpenCms | ${cms.title}
    
    
    
    
    
    ">
    ">
    
    

    /system/modules/com.alkacon.bootstrap.formatters/resources/img/favicon_120.png"/>
    /system/modules/com.alkacon.bootstrap.formatters/resources/img/favicon_16.png" type="p_w_picpath/png"/>

    
    
    
        
    
    
        
    
    
    
        
    
    
    /system/modules/com.alkacon.bootstrap.formatters/resources/css/themes/${colortheme}.css">
    /system/modules/com.alkacon.bootstrap.formatters/resources/css/themes/headers/header1-${colortheme}.css">
    %(link.weak:/system/modules/com.alkacon.bootstrap.formatters/resources/css/page.css:52f716c6-20f8-11e3-b4d8-000c297c001d)">

    
        
    
    
        
    
    

    
        jQuery(document).ready(function() {
            App.init();
        });
    
    
    




 
                                                                                                                                                                                                      
                                                                           
          
                      

从这里看,它是用的纯JSP加上CMS标签来组成的页面,而这里只是模板。

对于cms标记库,它的uri是 "http://www.opencms.org/taglib/cms" , 它对应的标记库定义是写在opencms.tld文件中。

细节自己调试下就很清楚,这里就不一一举例了。


网页题目:opencms页面编辑模式研究
网页链接:http://scyanting.com/article/jghoio.html