`
jiran1221
  • 浏览: 17979 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

dotCMS开发网站指南之一

阅读更多

 

     本篇dotCMS的开发指南应是利用dotCMS开发的开始之旅,所以请大家认真阅读该文档。 本文档的目标是教大家使用dotCMS开发你的第一个站点。(注:更好的利用dotCMS开发站点请参考开发指南之二,尽管这篇文章是开发的基础。)

     一、概念:模版(Templates)、容器(Containers)和内容(Content)

     在dotCMS中,创建新的模版和基于模版的页面是极其明确的工序。在我们开始以前,对于dotCMS来说我们需要理解两三个重要的概念。 比如:什么是模版、什么是容器和什么是内容。我们也会讨论它们如何交织起来为了创建页面和站点。

    1. 模版(Templates)

    首先,在dotCMS中的模版真的仅仅是一个布局为了发表一个HMTL页面、普通文本或者XML页面。如果你有过建站的经验,那么你会对模版比较的熟悉。它们看起来就像普通文本、像html或像xml文件,可能唯一不同就是在它们里面有一些特别的标签用于包含容器,或者所需要的内容。当在dotCMS中建立一个新的页面时,用户必须选择一个模版来装饰该页面。当建立一个新的模版,用户可以选择模版中想要包含的容器。

    2. 容器(Containers)

    在模版里面,dotCMS使用了容器。容器在模版里是为了格式化和显示页面中的内容条目的。描述“容器”最简单的方式是被看做“服务器端包含文件”的额外特性。也就是对使用“服务器端包含文件”来实现模版方式的有效补充,而且它更加的有优势。 如果你有使用“服务器端包含文件”来建立站点的经历的话,那么你将理解如何在模版中使用“容器”。在模版中使用“容器”往往比使用“服务器端包含文件”更加的强大。容器主要负责以各种不同的方式来格式化和显示站点内容。你可以创建一个容器来展现一篇文章的一段,或者你可以创建一个容器来展现一个内容列表。dotCMS的用户可以动态的排序内容列表或者也能够手动的排序页面中的内容。

   3. 内容(Content)

   最后,就是内容。在dotCMS中内容并不存在于html页面中或文件里面,也不在模版里面。dotCMS中的内容被放置在一个叫“内容仓库(content repository)”的地方。这样做的好处就是在你的站点中大量的内容能够被搜索,被添加到不同的地方并且被重复利用,甚至是不同的站点之间。使用不同的容器,相同的内容能被以不同的形式所显示。

   二、开始我们的旅程

   当你第一次建立起一个干净的dotCMS系统,系统将会自动的为我们创建两个通用的“内容类型”,其实就是dotCMS中的“结构体”。一个是“Content(Generic)”,另一个是“News Item”。另外dotCMS系统将会创建一个缺省的主机,我们可以在这个缺省的虚拟“主机”上搭建自己想要建立的站点。当第一次登陆dotCMS系统的时候,你将会看到一排的“选项卡”面板,单击叫“WebSite”的选项卡,你能够管理你的站点的整个目录结构,包括建立站点所用到的页面、文件、容器和模版。为了演示的目地,我们创建了一个简单的html页面作为我们开始用dotCMS开发站点的起点。尽管我们使用了一个非常简单的html页面作为展示,但是实际上dotCMS可以接受你所创建的任何"疯狂或复杂"的html页面或者xml页面。下面是我们演示网页的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
body{
font-family: verdana, helvetica, tahoma;
text-align:center;
}
td{
font-size: 80%;
}
#mainCSS{
border:1px solid gray;
height:600px;
width: 800px;
}
#headerCSS{
height:70px;
background: #eee;
}
#footerCSS{height:70px;
background: #eee;
}
#navigationCSS{
width:120px;
background: #eee;
vertical-align:top;
}
#bodyCSS{
background: #fff;
vertical-align:top;
}
</style>
<title>$pageTitle</title>
</head>
<body>
<table id="mainCSS">
<tr id="headerCSS">
<td colspan="2">
HEADER CONTAINER HERE
</td>
</tr>
<tr>
<td id="navigationCSS">
NAVIGATION CONTAINER HERE
</td>
<td id="bodyCSS">
BODY CONTAINER HERE
</td>
</tr>
<tr id="footerCSS">
<td colspan="2">
FOOTER CONTAINER HERE
</td>
</tr>
</table>
</body>
</html>

 

     1. 第一步:创建"容器"

     我们要做的第一步就是创建一些简单而通用的“容器”,它们将扮演通用的头、导航和脚。(当然,其实我们在创建容器之前实际上应该先创建“结构体”,也叫内容类型这个东东,只不过我们的dotCMS帮我们自动建立了两个较为常用的“结构体”,在我们的本教程中是够用了,所以不用这个东东。但是如有需要,我们应该把建立“结构体”作为我们开发的第一步。这个在我的开发指南二中有详细的说明) 当然,这些“容器”并不负责容纳任何的内容,或者内容的格式,它们将仅仅是扮演简单的包含文件被模版所包含。所以,它们既简单又特殊。我们通过点击“website”选项卡并且单击子标签选项卡“Containers”,然后点击“add Container”选项卡来创建容器。

     a. Header Container

     第一个容器是“header container”. 为了演示的目的,这个"容器"基本上什么也不做,尽管我们可以有让用户选择一个头或者"英雄图片"的能力来作为头。这个头容器仅仅有一句代码:

    <h1>$pageTitle</h2>

     b. Left Hand Navigation Container

     第二个容器是"left-hand nav". 这个容器将会调用一个宏指令,这个宏指令将会自动的为我们建立站点的导航. 代码如下:

     #navigation(1 2)

     至于这个“宏代码” 是什么含义,其实并不重要。当然,我是说至少现在你没必要深究它什么。以后就会明白的,我不希望这个小小的东西冲淡了我们的主要任务和大局。嘿嘿,你就当它是一段“普通文本”吧,没什么的。

      c. Footer Container

      第三个容器也是基本上什么都不做,仅仅是容纳样板式的页脚信息。代码如下:

      my footer &copy2007

      d. Body Container

 

 

 

 

 

 

分享到:
评论

相关推荐

    dotCms说明文档

    dotCMS的核心优势之一在于其灵活性。这主要体现在以下几个方面: - **多语言支持**:系统内置多语言管理功能,能够轻松实现国际化网站的构建。 - **自定义工作流**:支持根据组织特定的工作流程定制内容审核和发布...

    前端开源库-dotcms-js

    3. **组件开发**:创建自定义组件,遵循dotcms-js的开发规范和样式指南。 4. **测试**:利用单元测试和集成测试确保代码质量,确保新功能的稳定性和兼容性。 5. **部署**:将编译后的前端代码部署到生产环境,与...

    dotcms配置 java开发的开源的CMS,典型的SSH架构

    DotCMS是一款基于Java开发的开源内容管理系统,采用经典的SSH(Spring、Hibernate、Struts)架构。这个系统提供了丰富的功能和高度可扩展性,适合企业级的网站建设和管理。以下是配置DotCMS的一些关键步骤: 1. **...

    dotcms处理弹出菜单时中文乱码

    在IT行业中,尤其是在Web开发领域,字符编码问题是一个常见的挑战,特别是当涉及到多语言环境时。"dotcms处理弹出菜单时中文乱码"这个问题,就是由于字符编码配置不正确导致的。 DotCMS是一个开源的企业级内容管理...

    core-2.x:dotCMS 2.x旧版代码库

    dotCMS努力工作以摆脱Web开发人员的困扰,使编辑内容,自定义模板,动态脚本和自定义/集成变得异常容易。 而且dotCMS中的所有工具都旨在帮助Web团队快速交付世界一流,可伸缩且可管理的网站,移动应用程序或内容...

    generic-dotCMS-plugin-code-examples:通用dotCMS插件代码示例

    在IT行业中,dotCMS是一款流行的开源内容管理系统,它支持企业构建和管理复杂、多语言的网站。本资源“generic-dotCMS-plugin-code-examples”提供了一系列的Java代码示例,旨在帮助开发者更好地理解和创建针对...

    SQLResultsTool:这个 OSGi 视图工具允许任何具有适当权限的 dotcms 用户从前端页面运行 SQL 语句

    内容/小部件编辑器用户必须具有分配给它的“脚本开发人员”角色,才能从内容/小部件执行此 ViewTool。 如果 ViewTool 旨在查询与 dotcms 不同的数据库,则必须在 {dotcms_home}/tomcat/conf/Catalina/localhost/...

    plugin-solr:dotCMS系统的SOLR插件

    dotCMS SOLR插件dotCMS系统的SOLR插件可用于将内容和所有相关字段发布到SOLR安装中以进行索引。 该插件包含一个Portlet,该Portlet显示要编制索引的内容的队列,以及可以在自定义工作流中使用的工作流Actionlet,...

    javacms源码-core-2.x:dotCMSJavaEnterpriseCMS2.x系列的源代码

    dotCMS努力工作以摆脱Web开发人员的困扰,使编辑内容,自定义模板,动态脚本和自定义/集成变得异常容易。 而且dotCMS中的所有工具都旨在帮助Web团队快速交付世界一流,可伸缩且可管理的网站,移动应用程序或内容驱动...

    dotcms-nextjs-example

    作为 ,不仅可以编辑常规页面、单页应用程序或任何类型的 JamStack 网站。 下一个JS 我们正在使用最新的功能来静态呈现所有 DotCMS 页面。 随着 NextJS 9.4 的发布,您可以使用其功能在构建时创建静态 DotCMS 页面...

    核心:dotCMS Java Enterprise Content Management System的源代码

    dotCMS是一种可扩展的,基于Java的开源内容管理系统(CMS),旨在跨多个渠道管理和交付个性化的,基于权限的内容体验。 dotCMS可以用作站点,移动应用程序,微型站点,门户,Intranet的平台,也可以用作无头CMS...

    gradle打包android (实现外部导入签名文件、多渠道打包、导入ant脚本)

    在Android开发中,Gradle是默认的构建工具,它提供了灵活的配置和自动化打包功能。本文将详细讲解如何使用Gradle进行Android应用打包,并重点介绍如何实现外部导入签名文件、多渠道打包以及导入Ant脚本这三大核心...

    dotCMSSigningKeyGenerator:为dotCMS 4.3.3安装生成一个新的随机签名密钥。 蒂莫·穆勒(TimoMüller)撰写

    建造这是一个Maven存储库,您可以按照以下步骤构建JAR mvn package帮助启动该工具将生成一个新的签名密钥。 timo@dotcms ~/w/d/d/target&gt; java -jar ./dotCMSSigningKeyGenerator-0.0.1-SNAPSHOT.jar ----- dotCMS ...

    plugin-viewtool-markdown:dotCMS Markdown处理器

    它提供了一个viewtool,可在dotCMS中使用它来解析gfm的文本/内容。 ###用法$markdown.parse("**Parse** *this* ~~string~~")将导致 解析这个细绳 $markdown.parseFile&#40;"/application/my-file.md"&#41;或$ ...

    dotCMSTokenGenerator:PoC JWT令牌生成器,由TimoMüller编写

    这是一个Maven存储库,您可以按照以下步骤构建JAR mvn package 帮助 该工具很自我解释 java -jar ./dotCMSTokenGenerator-0.0.1-shaded.jar ----- dotCMS TokenGenerator PoC by MOGWAI LABS GmbH ...

    isaac-dotcms-minifier:我们对 dotCMS 的 ISAAC JSCSS Minifier 插件的修改

    可以在找到更多信息 对于 dotCMS 版本:2.5.1 及更高版本 变化: 添加了将 asyncLoading 添加到脚本的功能 添加了 Gradle 构建文件,因此可以使用以下命令构建它: gradle jar 执照: 这项工作是 by 的衍生品,...

    18个 Java开源 CMS系统 一览 1

    7. **Cofax**:Cofax是一款基于Java/XML的内容管理系统,最初由Knight Ridder开发用于新闻网站,具备高度的可定制性和扩展性。其官方网站为http://www.cofax.org/index.jsp。 8. **webEditor**:webEditor是一个专...

    基于javaEE技术的javaweb项目题目参考.pdf

    * 基于dotCMS的街道办事处网站系统 * 基于Struts 的Web mail邮件管理系统 移动应用开发 * J2ME平台下 RSS Reader的设计与实现 * J2ME平台下 JMX浏览器的设计与实现 * J2ME平台下列车时刻表的设计与实现 * J2ME平台...

    docker:Docker工件的公共存储库

    dotCMS码头工人 dotCMS Docker工件的公共存储库 执照 分发dotCMS的映像的Docker资源文件已根据Apache License 2.0许可。 有关更多详细信息,请参见。

Global site tag (gtag.js) - Google Analytics