Drupal专业开发指南(8-9章).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Drupal专业开发指南(8-9章)

第8章 Drupal 主题系统( Drupal theme)(1) 修改 Drupal 生成的 HTML 或者其他标识字体,你需要深入的了解主题系统的各个组成部分。主题系统是个优雅的架构,它可使你绕过核心代码,但是它有一个很长的学习曲线,特别是在你想 使你的站点于其他 drupal 站点看起来不同时。我们将向你讲述主题系统是如何工作的,以及想你展示隐藏在 Drupal 核心本后的一些最佳实践。首先要记住的是:不要通过编辑模块文件内部的 HTML 来改变你站点的外观。如果这样做了,你仅仅创建了一个对你个人适用的内容管理系统,这样你就会失去开源软件系统最大的优势之一 - 社区的支持。覆盖,而不是修改。 主题系统的组成 主题系统有多个抽象层次组成:模板语言(template language),主题引擎(theme engines)和主题。 模板语言和主题引擎 主题系统可以使用多个模板语言。Smarty、PHPTAL 和 XTemplate 可以与 Drupal 集成,用来向模板文件中添加动态数据。为了使用这些语言,需要一个叫做主题引擎的包装器,用来在模板语言和 Drupal 之间交互。你可以在 /project/Theme+engines 找到对应的模板语言的主题引擎。你可以通过将相应主题引擎的目录放置到你站点的主题引擎目录下面来安装主题引擎。如果仅用于单个站点,使用目录 sites/sitename/themes/engine,如果用于多个 Drupal 站点,则使用目录 sites/all/themes/engine,如图8-1所示。 Drupal 社区创建了一个自己的引擎,专门对 Drupal 进行了优化。它叫做 PHPTemplate,它使用 php 函数来作为模板语言,这消除了其他模板语言常常使用的中间层的解析环节。这是 Drupal 最长用的的模板引擎,它被默认安装了。它位于 themes/engine/phptemplate,如图8-2所示: 图8-1 为 Drupal 添加定制主题引擎的目录结构 图8-2 为 Drupal 核心主题引擎的目录结构。这个位置专门用于放置核心主题引擎。 注意:注意完全可以不使用模板语言而简单的使用 php 模板文件。如果你是速度的狂热分子,或者可能仅仅是想折磨一下你的设计者,你甚至可以不使用主题引擎而仅仅使用裸php函数来实现你的整个主题。例如一个 基于 php 的主题,参看 themes/chameleon/chameleon.theme。 当你安装好一个主题引擎后,你不会看到你的站点的任何改变。这是因为,主题引擎仅仅是一个接口库,在主题引擎被使用以前,你仍然需要安装一个依赖于该主题引擎的 Drupal 主题。 要使用哪一个模板语言呢?如果你正在转换一个遗留站点,可能使用以前的模板语言更方便一些,也许你的设计团队更倾向于使用所见即所得的编辑器,这样 PHPTAL 应该是个更好的选择,因为它可以阻止这些编辑器对模板的破坏。你可以看到关于 PHPTemplate 最多的文档和支持,如果你是从新开始建立一个站点的话,如果从长期的维护和社区支持这两个角度来看,它应该是最好的选择了。 主题(themes) 用 Drupal 的话来说,主题就是一组展示你站点外观的文件。你可以从 /project/Themes 下载定已制好的主题,或者你可以自己动手。这正是你在本章将要学习的。作为一个 web 设计者,主题有你所期望的大部分内容组成:样式、图像、JAVAscript 文件,等等。你将发现,在 Drupal 主题和纯 HTML 站点之间的区别就是模板文件。这些文件一般都包含大段的静态 HTML 和一些小段的用来插入动态内容的代码。模板文件的语义依赖于他所以来的支持他们的主题引擎。例如,列表8-1、8-2、8-3列出了3段模板文件代码片 段,它们输出同样的内容但是包含完全不同的模板文件内容。 列表8-1 Smarty {if count($secondary_links)} {theme function=links data=$secondary_links delimiter= \n } {/if} {if count($primary_links)} {theme function=links data=$primary_links delimiter= \n } {/if} 列表8-2 PHPTAL secondary link primary link 列表8-3 PHPTemplate ?php if (count($secondary_links)) : ? ?php foreach ($secondary_links as $link): ? ?php pri

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档