原文:Theming options: beginner, intermediate, advancedphp
一篇关于定制Drupal网站外观的主题(Theme)的好文。css
注:如下Theme统称为主题,Theme,theming等字眼再也不出现。node
正文:ide
当开始一个Drupal站点的时候有许多关于主题的选项。为了帮助你更快地熟悉主题相关内容,本文根据不一样的熟练水平列出不一样的选项供参考。函数
本文涵盖了Drupal站点的外观样式与设计的不一样的选项。另外一方面,关于站点的功能与特性等等,参看(译文)Drupal站点建设:初级,中级,高级。工具
若是你正在建设第一个Drupal站点,而且也许你没有CSS和主题的经验,建议你一开始安装(installing)和你的需求接近的开箱即用的主题。好比:布局
在这里要提醒你们的是,站点外观的一部分属性经过Drupal的管理界面就能够轻松的修改,好比:学习
还有许多其余的模块(参看文档documentation)能够容许你经过管理界面定制主题的某部分。好比网站
若是你正在学习CSS设计,有一些方法能够用来打造只属于你本身的主题。你能够复制一份主题并进行修改,或者在基础上创建子主题(sub-theme)。ui
一个好的学习方法是修改现有的主题,使用一个在上文初级部分提到过的方法,或者复制一份在内核themes目录下的主题。每一个主题都有本身的目录,要复制的话,创建一个目录,比方说sites/all/themes/mytheme。而后你能够拷贝全部文件到此目录下,好比拷贝themes/bartik文件到sites/themes/mytheme。而后修改一下.info文件,使得主题具备你本身想要的名字。
第二个选项是制做一个子主题(sub-theme),这样未来升级起来更容易。这个方法的优势是不用复制全部的文件。方法是创建一个目录好比sites/all/themes/mysubtheme,而后放置一个.info文件到目录中并放置一行说明,说明它的父主题("parent" theme)便可。
无论用哪种方法,配置主题的一个起点就是修改style.css文件(在你本身的主题目录中),这样的话,所做的修改将会覆盖掉(override)默认设置。你能够特事可能的CSS改变,这里推荐一个很实用的工具 Firebug,能够一点一点修改页面的样式并当即获得效果上的反馈。
若是须要更多的信心,请移步Tools, best practices and conventions。关于CSS方面的知识,可参看wiki上的Cascading Style Sheet article。
另外还有一个第三个选项,有某些主题提供了 local.css 文件供修改。
下一步你就能够从最基础的starter theme开始制做子主题,并本身添加CSS文件来定制。
上面提到了Starter Themes,做为一个基础主题,一样对于熟练地CSS设计人员来讲也是很是好的节省时间的办法,他们只要添加CSS代码便可。可是,当你有了必定的主题方面的经验,你大概已经准备好了基于主题的模板文件(template files)或者主题函数(theme functions)来进行工做了。
主题模板文件是一些在你的主题目录中以.tpl.php结尾的文件。你须要作的知识创建包含你的主题的目录,而后将模板文件放入其中。放入后的模板文件将会覆盖掉默认版本的模板文件。你能够放置多个.tpl.php文件到目录中,以便覆盖特定的内容类型的模板。开始的时候,你应该是但愿从主要的关于页面的模板文件开始进行修改。
主模板文件叫作page.tpl.php。这个文件包含的基本是HTML代码,因此搞清楚如何使用它将不会特别困难。这个文件用于创建每个页面的HTML。若是你修改了这个文件,你也就修改了一个页面的布局方式。
你能够复制一份主模板文件,而后放置想要的HTML代码或者PHP代码以便页面按照你要的方式来生成。在文件中几乎全部的PHP代码是条件判断语句,用来当某些部分没有内容的时候隐藏它们。
第二种创建你本身的模板的方式是覆盖PHP函数,这包括找到原有的函数,用你的主题的函数覆盖(overriding)它们。稍后咱们将讨论这个方法。
更多关于如何创建你本身的模板的细节能够参看Drupal Theming Guide, 以及Drupal书籍 books。一样的查看forum 和 group 当中有关主题制做的高级内容。
然后,若是你愿意的话,你能够贡献(contribute )出你设计(design)的主题,这样能够在主题方面帮助其余人。
能够查看converting 6.x themes to 7.x page来得知在Drupal 6版本和Drupal 7版本主题之间的不一样之处。