drupal6 pro drupal development(专业开发指南)thethemesystem主题系统

drupal6 pro drupal development(专业开发指南)thethemesystem主题系统

ID:6128498

大小:168.00 KB

页数:41页

时间:2018-01-04

drupal6 pro drupal development(专业开发指南)thethemesystem主题系统_第1页
drupal6 pro drupal development(专业开发指南)thethemesystem主题系统_第2页
drupal6 pro drupal development(专业开发指南)thethemesystem主题系统_第3页
drupal6 pro drupal development(专业开发指南)thethemesystem主题系统_第4页
drupal6 pro drupal development(专业开发指南)thethemesystem主题系统_第5页
资源描述:

《drupal6 pro drupal development(专业开发指南)thethemesystem主题系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第8章主题系统如果你想修改Drupal生成的HTML或者其它标识字体,那么你需要深入的了解主题系统的各个组成部分。主题系统是个优雅的架构,它使你无需核心代码,就可以得到想要的外观;但是它也有一个很长的学习曲线,特别是你想要完全定制一个站点主题,以与其它drupal站点区别开来,那么你还是需要费点功夫的。我将向你讲述主题系统的工作原理,以及向你展示隐藏在Drupal核心之中的一些最佳实践。首先要记住的是:不要通过编辑模块文件内部的HTML来改变你站点的外观。如果这样做了,你仅仅创建了一个对你个人适用的内容管理系统,这样你就会失去开源软件系统最大的优势之一-

2、-----社区的支持。覆写,而不是修改! 主题系统的组成      主题系统由多个抽象层次所组成:模板语言,主题引擎和主题。•模板语言和主题引擎•主题•安装主题•构建一个PHPTemplate主题•使用已有的HTML和CSS文件•为你的主题创建一个.info文件•为你的主题创建一个.info文件(1)•理解模板文件•theme()函数介绍•theme()工作原理概览•覆写可主题化的项目•覆写主题函数•覆写模板文件•添加和操纵模板变量•适用于所有模板的变量•page.tpl.php•page.tpl.php(1)•node.tpl.php•node.tpl

3、.php(1)•block.tpl.php•comment.tpl.php•box.tpl.php•其它的.tpl.php文件•多页面模板•高级Drupal主题化•注册表是如何构建的•逐步分析theme()函数•逐步分析theme()函数(1)•定义新的区块区域•总结模板语言和主题引擎主题系统可以使用多个模板语言。Smarty,PHPTAL,和PHPTemplate都可以与Drupal集成,用来向模板文件中添加动态数据。为了使用这些语言,需要一个叫做主题引擎的包装器,用来在模板语言和Drupal之间进行交互。你可以在http://drupal.org/p

4、roject/Theme+engines中找到对应模板语言的主题引擎。安装主题引擎其实很简单,只需要通过将相应主题引擎的目录放置到你站点的主题引擎目录下面就可以了。如果仅用于单个站点,使用目录sites/sitename/themes/engines;如果用于多个Drupal站点,则使用目录sites/all/themes/engines,如图8-1所示。   Drupal社区创建了一个自己的引擎,专门对Drupal作了优化。它就是PHPTemplate,它使用PHP作为模板语言,这样它就不需要中间层的解析环节了,而其它模板语言常常需要这一环节。这是Dr

5、upal最常用的模板引擎,它是Drupal自带的。它位于themes/engines/phptemplate,如图8-2所示: 图8-1为Drupal添加定制主题引擎的目录结构 图8-1Drupal核心主题引擎的目录结构。这个位置专门用于放置核心主题引擎。 注意完全可以不使用模板语言,而简单的使用纯php的模板文件。如果你是热衷于追求速度,或者可能仅仅是想折磨一下你的设计人员,那么你可以不使用主题引擎而仅仅整个主题包装在PHP函数中,比如使用函数themename_page()和themename_node()来代替模板文件。一个基于PHP主题的示例,可

6、参看themes/chameleon/chameleon.theme。    当你安装好一个主题引擎后,你不会看到你的站点有了任何改变。这是因为,主题引擎仅仅是一个接口库,在它被使用以前,你仍然需要安装一个依赖于该主题引擎的Drupal主题。   要使用哪一个模板语言呢?如果你正在转换一个遗留站点,那么可能使用以前的模板语言会更方便一些;也许你的设计团队更倾向于使用所见即所得的编辑器,这样PHPTAL应该是个更好的选择,因为它可以阻止这些编辑器对模板的破坏。你可以发现,大多数的文档和支持都是关于PHPTemplate的,如果你是从头开始建立一个站点的话,

7、那么从长期的维护和社区支持这两个方面来看,PHPTemplate应该是最好的选择。主题用Drupal的行话来说,主题就是一组负责你站点外观的文件。你可以从http://drupal.org/project/Themes下载第3方主题,或者你可以自己动手创建一个主题,后者正是你在本章将要学习的。作为一个web设计者,主题由你所熟悉的大部分内容所组成:样式表,图片,JavaScript文件,等等。你将发现,在Drupal主题和纯HTML站点之间的区别就是模板文件。这些文件一般都包含大段的静态HTML,和一些小段的用来插入动态内容的代码。它们负责你站点的一个特

8、定部分的外观。模板文件的语法依赖于它所使用的主题引擎。例如,列表8-1,8-2,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。