Drupal 7 主题(Theme)选择:初级,中级,高级(译文)

原文:Theming options: beginner, intermediate, advanced

一篇关于定制Drupal网站外观的主题(Theme)的好文。

注:以下Theme统称为主题,Theme,theming等字眼不再出现。

正文:

当开始一个Drupal站点的时候有许多关于主题的选项。为了帮助你更快地熟悉主题相关内容,本文根据不同的熟练水平列出不同的选项供参考。

本文涵盖了Drupal站点的外观样式与设计的不同的选项。另一方面,关于站点的功能与特性等等,参看(译文)Drupal站点建设:初级,中级,高级

初级主题选项

如果你正在建设第一个Drupal站点,并且也许你没有CSS和主题的经验,建议你一开始安装(installing)和你的需求接近的开箱即用的主题。比如:

  • drupal.org上免费的社区贡献(contributed themes)的主题。其中一些主题的演示(demo)可以到Theme Garden查看
  • 其他的Drupal主题(Drupal themes),包括免费的和付费的等等。
  • 雇佣Drupal主题设计人员(Drupal designers)打造独一无二的主题。

在这里要提醒大家的是,站点外观的一部分属性通过Drupal的管理界面就可以轻松的修改,比如:

  • 改变某个主题的颜色规划(color scheme),比如内核自带的Bartik主题(版本6.x需要Color模块)。在Drupal 7 中这个操作变得相对容易。
  • 改变缺省的站点logo,标语和站点图标(favicon)。
  • Field模块(在Drupal 6中叫做CCK,Content Construction Kit);主要用来定制新的内容类型,它提供了改变标签和字段(Field)的显示顺序的能力。
  • 在用户界面上即可进行定制的主题,比如Acquia的Drupal Gardens(定制完还可以导出,用到自己的站点上),Lollabot的 Buzzr。另外还有一些可以自动生成主题的工具,参看 theme generators

还有许多其他的模块(参看文档documentation)可以允许你通过管理界面定制主题的某部分。比如

  • Views模块:可以显示节点(nodes)的列表。这些列表可根据需要显示的字段来进行配置。
  • 一些众所周知的使用了Skinr模块的主题(themes using the Skinr module),他们为Drupal用户提供了改变样式的选项,而且不需要编写CSS。
中级主题选项

如果你正在学习CSS设计,有一些方法可以用来打造只属于你自己的主题。你可以复制一份主题并进行修改,或者在基础上建立子主题(sub-theme)。

一个好的学习方法是修改现有的主题,使用一个在上文初级部分提到过的方法,或者复制一份在内核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版本主题之间的不同之处。

转载于:https://my.oschina.net/u/187928/blog/33571

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值