`
demitong
  • 浏览: 7140 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OpenCms 8.5 修改编辑器 CmsPopup 弹出框

 
阅读更多
OpenCms 8.5 修改编辑器 CmsPopup 弹出框

升级后效果:
1.调用编辑器使用8.0.4编辑面板风格;
2.固定的弹出窗口拖动BUG修正(当样式属性Position为FIXED时);
3.增加弹出窗口拖拽控制大小效果。


一、内容的编辑处理程序
org.opencms.ade.containerpage.client.CmsContentEditorHandler
修改openDialog()方法
注释CmsContentEditor打开的编辑器,只使用CmsContentEditorDialog 8.0.4弹出窗口——如取消经典编辑器模式的判断:
    m_handler.m_controller.getData().isUseClassicEditor()

二、修改弹出框功能
org.opencms.gwt.client.ui.CmsPopup
增加拖拽控制大小功能,(代码片段):
    /** The panel for the resize button. */
    private ResizeButton resizeable;
    
    /** Flag if resizing. */
    private boolean j_resizing;
    
    /** panel's offset width. */
    private int j_clientWidth;

    /** panel's offset height. */
    private int j_clientHeight;
    
    // TODO 用户拖拽动态调整大小
    public void addDialogResizeable() {
    	if (resizeable == null) {
    		resizeable = new ResizeButton();
    		
    		resizeable.setTitle("拖拽控制窗口大小!");
    		resizeable.addStyleName(I_CmsLayoutBundle.INSTANCE.dialogCss().resizePopup());
    		resizeable.setImageClass(I_CmsLayoutBundle.INSTANCE.dialogCss().resizeablePopupImage());
    		resizeable.setButtonStyle(ButtonStyle.TRANSPARENT, null);
    		
    		DOM.appendChild(m_containerElement, resizeable.getElement());
            adopt(resizeable);
    	}
    }


三、编辑器窗口调用
org.opencms.gwt.client.ui.contenteditor.CmsContentEditorDialog
openDialog()方法中增加弹出窗口可拖拽控制调用
m_dialog.addDialogResizeable();
  • 大小: 76.7 KB
  • CmsPopup.rar (8.2 KB)
  • 描述: CmsPopup增加拖拽控制大小与拖动bug修正代码
  • 下载次数: 3
分享到:
评论

相关推荐

    OpenCms8.5 安装

    OpenCms 8.5引入了一些增强功能,比如改进的模板引擎,支持更强大的富文本编辑,以及更好的性能和稳定性。 为了进一步优化OpenCms的使用,建议阅读官方文档和在线社区的资源,了解如何配置主题、插件、模块以及如何...

    opencms8.5

    3. **编辑内容**: 利用编辑器添加或修改文本、图片等内容。 4. **预览与发布**: 预览更改后的效果,并将内容发布到前端网站。 #### 六、结语 OpenCms 作为一款成熟且功能强大的 CMS 系统,非常适合需要高效管理...

    opencms 参考手册

    opencms8.5 参考手册 内容,project,view module

    OpenCms 内容类型模块

    理解 OpenCms 的模块系统以及如何通过 manifest.xml 文件来管理模块,有助于开发出功能强大且易于维护的 CMS 解决方案。 总的来说,OpenCms 内容类型模块是构建和管理网站内容的关键工具,而深入理解和灵活运用这个...

    opencms

    此外,OpenCms提供了直观的用户界面,便于内容编辑者进行日常操作,如内容创建、修改和发布等。 二、Java API详解 OpenCms的Java API涵盖了几乎所有核心功能,包括内容管理、工作流、权限管理、搜索和索引、缓存...

    OpenCms 7 Development(最好的OpenCms二次开发资料)

    1. **内容创建与管理**:书中详细讲解了OpenCms的内容模型,如何创建和编辑内容,以及如何设置内容的权限和访问控制。此外,还会介绍如何使用OpenCms的工作流程模块,实现内容的审核和发布流程。 2. **模板系统**:...

    OpenCMS

    OpenCMS作为一款成熟且功能丰富的开源CMS系统,在构建和管理网站方面展现出了极大的灵活性和扩展性。无论是初学者还是经验丰富的开发者,都可以通过《使用OpenCMS快速建站》一书了解到如何有效地使用这一强大工具。...

    opencms9 java api

    在实际项目中,开发者需要根据具体需求选择并使用上述API功能,结合OpenCMS的模块化架构,可以构建出满足各种业务场景的网站应用。为了更好地利用这些API,开发者应该熟悉Java编程,同时掌握基本的Web开发知识,包括...

    opencms路径去掉两个opencms的方法总结

    - 对于基于Spring或其它框架的OpenCMS扩展,可能需要修改相应的模块配置文件,确保它们引用的URL路径不包含“opencms”。 6. **更新链接和模板** - 修改后的URL结构可能会影响到内部链接和模板。确保所有内部链接...

    OpenCms中文文档完整版

    OpenCms是一款强大的开源内容管理系统(CMS),专为构建和管理网站而设计。这款系统以其易用性、灵活性和可扩展性赢得了用户的喜爱。本文将深入解析OpenCms的中文文档,帮助用户快速掌握该系统的各项功能和操作。 ...

    opencms配置去掉2个opencms总结

    标题中的“opencms配置去掉2个opencms”指的是在OpenCms系统中,可能有用户想要移除或禁用两个特定的OpenCms组件或功能,可能是出于优化性能、减少冗余或者简化系统的考虑。OpenCms是一款开源的内容管理系统,它允许...

    OpenCms创建网站过程图解——献给OpenCms的初学者们

    #### 五、修改OpenCms配置文件 1. **定位配置文件**:找到`tomcat/webapps/cms623/WEB-INF/config/opencms-system.xml`文件。 2. **增加配置**:在文件中增加以下配置: ```xml ``` 这段配置...

    OpenCms中文用户手册

    3. **内容创建与编辑**:OpenCms提供了直观的WYSIWYG编辑器,让用户可以方便地创建和编辑HTML内容。这部分会涵盖内容模板的创建、内容类型定义、富文本编辑技巧以及资源(图片、文档等)的上传和管理。 4. **站点...

    opencms教程.rar

    讲解XML结构化的数据模型,以及通过WYSIWYG编辑器进行富文本编辑。 5. **模板设计**:深入解析OpenCMS的模板语言XSLT,如何设计自定义模板以满足不同网站布局需求。包括模板元素、变量、条件语句和循环等。 6. **...

    opencms二次开发

    二次开发是指对OpenCMS的原始代码进行修改或扩展,以适应特定项目的需求。 在进行OpenCMS的二次开发时,你需要熟悉以下几个核心知识点: 1. **Java编程基础**:OpenCMS是用Java开发的,因此二次开发需要具备扎实的...

    opencms for myeclipse插件及其使用方法

    - **新建OpenCms项目**:在MyEclipse的“File”菜单下选择“New” -> “Other”,在弹出的对话框中找到OpenCms相关的选项,按照向导创建新项目。 - **导入现有项目**:如果你已经有了一个OpenCms项目,可以通过...

    opencms7.53源代码

    OpenCms提供了丰富的内容管理工具,包括文本编辑器、媒体库、模板管理等。开发者可以扩展这些功能,以适应更复杂的内容需求。 **8. 性能优化** 虽然7.5.3是较旧的版本,但依然可以研究其性能优化策略,比如缓存机制...

    opencms 内容管理入门指南

    - **创建模块项目**:使用OpenCMS的模块生成器创建一个新的模块项目。 - **编写业务逻辑**:实现模块的核心功能,这可能涉及Java类的编写和数据库交互。 - **设计模板**:使用OpenCMS的Alloy Template Engine创建...

Global site tag (gtag.js) - Google Analytics