OpenCms 9中提供b一个Demo,Demo使用了alkacon的bootstrap模板。如果已经安装了OpenCms 9,可以登陆http://localhost:8080/opencms/opencms/demo/index.html  查看Demo示例。

下面,我们将使用OpenCms提供的工作区(workplace)来创建站点,并创建类似于Demo中的首页(因为只是示例,所以创建的内容只有首页的导航栏)。创建站点的步骤如下:

一、进入工作区并新建一个站点test

1.  工作区的地址为:http://localhost:8080/opencms/opencms/system/login, 使用用户名Admin,密码admin登录。(注意:有时可能会出现点击“Reopen window”后直接跳转到opencms首页的情况。如果出现这种情况,返回并重新点击”Reopen window”按钮即可)

2. 进入工作区后,可以看到工具栏中有一个名为view的下拉框,选择该下拉框,并在下拉选项中选择Administrator视图。

3. 在工作区管理员视图中,我们使用视图中提供的“Site Management”工具创建一个新的站点文件夹。具体步骤如下:
(1)进入“Site Management”工具

(2) 选择”New Site”选项

(3)在显示的表单中,如下图进行填写

(4)创建完站点后,点击工具栏上的“Reload”按钮后,我们可以在Site下拉框中发现站点列表中出现了刚才创建的站点。

二、在站点中创建文件

1.   首先在Site下拉框中选择我们刚才创建的站点,并选择Explorer视图。

2.  我们可以看到,在/sites/test/文件夹下已经有一个文件夹.content,该文件夹是用来保存创建站点使用的xml,jpg等资源。

3.  我们首先进入.content目录,在该目录下创建新文件夹navigation:

(1)点击工具栏上的”New”按钮,选择Folder

(2)根据提示创建名为navigation的文件夹

4. 在navigation中,使用与3中类似的步骤创建一个导航模板文件
(1)点击“New”选项,并在表单中选择Bootstrap Template,并点击Continue,选择Navigation
(2)按照提示创建一个名为nv_01.xml的导航文件。

5. 右击nv_01.xml文件并选择”Edit”选项,在“Page Header”选项卡中填入以下内容并保存

6. 返回/sites/test/目录下,并创建新目录home。并在home中创建类型为Container Page 的文件,并将其命名为index.html

7. 右击index.html文件,选择Edit进入编辑模式,并按下图编辑该文件:

8. 保存index.html文件并点击该文件使其在浏览器上显示,我们可以发现编辑的该文件配置有错误。

9. 为了解决上面的问题,我们需要将index.html所在目录(home)的属性值中设置模块提供者。具体方法如下:
(1)进入/sites/test/目录,右击home目录并选择”Properties”
(2)在弹出的框中选择”Complete properties”,并点击“Unused Properteis”,在出现的列表中,找到”template”项,并将其值设为provider=org.opencms.loader.CmsDefaultTemplateContextProvider,template=/system/modules/com.alkacon.bootstrap.formatters/templates/bootstrap-page.jsp

10. 点击保存后,我们再打开index.html文件就可以在浏览器中看到如下效果(显示效果跟index.html的设置有关。由于使用的是opencms提供的模板,所以出现了opencms的logo,如果想更改效果,可以更改对应module中的jsp文件和resource资源)

利用OpenCms9提供的模块创建新站点的更多相关文章

  1. win10 iis 创建新站点注意事项

    新建站点时:注意文件夹权限增加everyone. 快速打开IIS:win+r:inetmgr

  2. 利用httpd配置虚拟目录创建下载站点

    应用环境:通常放置一些文件来提供下载. 配置环境:centos7 //已经关闭Selinux和Firewall 需求假设:在网页输入主机IP并进入,会显示主机目录/home/share/的文件以提供下 ...

  3. phpstudy创建新站点-默认打不开

    phpstudy中Apache中httpd.conf中如下语句前#要有 #Include conf/extra/httpd-vhosts.conf

  4. 彻底抛弃PeopleEditor,SharePoint中利用Jquery Chosen创建新的人员选择器

    彻底抛弃PeopleEditor,SharePoint中利用Jquery Chosen创建新的人员选择器 基于SharePoint平台开发时,人员选择器使用频率是非常高的,但是原生的人员选择器使用太麻 ...

  5. Drupal8开发教程:模块开发——创建新页面

    之前我们已经通过<Drupal8开发教程:认识.info.yml文件>对模块的YAML文件有了了解,今天我们来看如何通过模块开发的方式添加一个新的页面. 在 Drupal 7 中,通过模块 ...

  6. TestCase--网站创建新用户管理模块

    对于web测试,用户权限管理模块是必测的一个点,所以今天就来总结一下创建新用户管理模块的测试用例 参考图如下: 测试用例设计如下: 一.功能测试 1.  什么都不输入,单击“立即提交”,页面是否有提示 ...

  7. 上传通用化 VHD 并使用它在 Azure 中创建新 VM

    本主题逐步讲解如何使用 PowerShell 将通用化 VM 的 VHD 上传到 Azure.从该 VHD 创建映像,然后从该映像创建新 VM. 可以上传从本地虚拟化工具或其他云导出的 VHD. 对新 ...

  8. 利用HTML5与jQuery技术创建一个简单的自动表单完成

    来源:GBin1.com 在线演示   在线下载 谷歌快速搜索自带大量自动完成插件——库中甚至还有一个附带的jQuery UI共享选项.然而今天我要寻找一个替代的解决方案.由DevBridge开发的j ...

  9. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

随机推荐

  1. centos7架设vsftpd服务

    网络控制相关命令: systemctl status network 网络状态 systemctl restart network 网络重启 查看网络状态: nmcli connection show ...

  2. Angular表单控件需要类型和实际值类型不一致时实现双向绑定

    适用Angular版本为:>=2.本文同样适用于Ionic这类的基于Angular实现的框架. 本文的思路也适用于控件显示的值和实际的值不一样时实现双向绑定. 1. 问题描述 在使用md2的da ...

  3. docker~docker-machine的介绍

    回到目录 国外的hub.ducker.com速度确实有些慢,还好,有咱们的阿里云,今天和大家聊聊通过添加docker-machine来改变docker的hub服务器,最终来加速咱们下载镜像的速度! 工 ...

  4. 关于locals()、globals()以及作用域的一些感悟

    示例代码 i=6def foo(): print locals() print globals() i=66 print locals() print globals()class demo: i=6 ...

  5. C#获取当前时间详解

    [转]C#获取当前日期时间(转)  http://blog.163.com/ljq086@126/blog/static/549639712010112921658843/ 我们可以通过使用DataT ...

  6. hdu_1711: Number Sequence【KMP算法】

    题目链接 此次插播点笔记 hdu中点击蓝色的"Compilation Error"可以查看自己是为什么CE的 hdu中提交的话,语言选择G++可以使用<bits/stdc++ ...

  7. Result Maps collection does not contain value for...

    出现上述错误 主要是因为你的select标签内部的resultMap属性指向的不正确 在sql文件中只要有一个resultMap或resultType属性指向错误,则在这个文件中其余正确的语句也不能执 ...

  8. java线程数过高原因分析

    作者:鹿丸不会多项式  出处:http://www.cnblogs.com/hechao123   转载请先与我联系. 一.问题描述 前阵子我们因为B机房故障,将所有的流量切到了A机房,在经历了推送+ ...

  9. ES6中的迭代器(Iterator)和生成器(Generator)

    前面的话 用循环语句迭代数据时,必须要初始化一个变量来记录每一次迭代在数据集合中的位置,而在许多编程语言中,已经开始通过程序化的方式用迭代器对象返回迭代过程中集合的每一个元素 迭代器的使用可以极大地简 ...

  10. python-桶排序

    桶排序 通排序非常浪费空间, 比如需要排序的范围在0~2000之间, 需要排序的数是[3,9,4,2000], 同样需要2001个空间 注意: 通排序不能排序小数 以下为从小到大代码实现 #!/usr ...