回主页

笨活儿关注Web前端和网页设计,同时兼顾用户体验,致力于将国外的优秀教程汉化,并不定期推荐免费优秀影视娱乐资源。

订阅本博客。


  • About/关于
  • Browse/浏览
  • Portfolio/作品集
  • Search/搜索

TOPICS/主题:英国达人中文字幕 网页设计 免费资源 Web前端 感受年轻 边翻译边学习More...


  • « 支教小结
  • [Drupal模板制作手册-2]主题的解剖 »
发表时间:八月 10 ↓ 有话想说

[Drupal模板制作手册-1]主题定制概述

由 慵云 发表于 前端开发 分类下  发表时间:星期日, 八月 10, 2008 15:58

通常编写软件都需要把表现层和程序层分离。 这样做有 很多原因 , 最明显的就是编写后台业务逻辑程序所需知识和创建视觉外观、用户界面所需知识有很大不同。作为主题开发者,你可以控制某些可用数据的特定方面,但应该只限于数据输出和呈现样式。 只有Drupal核心和模块才能用以数据输入。 例如,一个模块可以产生带有默认外观的表格采集用户输入的数据,然后转存到数据库中。主题的作用应该仅仅是重写这些默认外观。

以上所述过程在Drupal中是通过 theme 函数来实现的。可以把它看作是数据到主题子系统的管道。它为主题引擎提供一个可选择的中间层,以便被例如 PHPTAL 或 Smarty 一类的标记语言利用, 它同时允许主题控制所有表现层标记。 主题引擎和标记语言同样是可选的。 PHPTemplate 即是默认的引擎。顾名思义,在输出变量和xHTML标签的混合体时它使用的是PHP语言。

自Drupal 6开始,创建主题引擎的要求实际上是降低了。

所有层次都能生成主题化的输出, 但是只有主题层可以重写(也有例外) 。 主题引擎可以重写来自核心与模块的输出,而主题可以重写其他一切东西。

请注意PHPTemplate引擎并不重写任何输出,但是有些其他引擎可以。 也有少数模块可以控制输出样式,并且几乎可以重写所有东西,但这种功能应当只用于少数特殊情况。 例如,主题模块devel 就有这样的功能,以帮助主题开发。 更多细节我们将在 下一节讨论 。

如果你想完全通过CSS来控制主题,那么你可以忽略下面的内容。但是如果有标签需要更改,知道如何访问数据输出的来源以自定义它 就变得十分重要。

  • 请注意Drupal 核心以及数不清的模块总是用themable 函数和 模板文件来输出表现层的标签。请务必不要修改主题文件夹以外的文件,不然在系统需要升级时你会遇到麻烦。 我们把这种行为叫做”分流”. 开源软件的最大能量就在于有强大的社区后盾为你修复bug和开发新功能。 一旦你开始分流,你就失去了这个社区的支持。 Drupal已经提供重写表现层所需的所有功能。 除非你自己找到了Drupal的bug,否则修改主题文件夹以外的文件就是一件错事。这种情况下,请帮忙撰写bug报告。或者最好, 提供一个补丁修复这个问题。
  • 对于那些在以前的版本中就熟悉过PHPTemplate引擎的人来说,几乎所有功能都已经变得更接近核心(即Drupal核心现在提供更多功能,从而不必使用PHPtemplate引擎)。 PHPTemplate现在的工作只包括探索与主题有关的theme函数和相应模板. 相对于“引擎”而言,现在它更多的是一个“主题帮手”。PHPTemplate was originally written by Adrian Rossouw for 4.7. The changes in 6 were the work of Earl Miles. An extended forum discussion provides some of the reasoning behind the initial creation of the engine and the issue queue for the new direction in 6.(PHPTemplate 的版本历史就不用翻译了吧?)

原文:http://drupal.org/node/171188

你应该也会喜欢:
  1. [Drupal模板制作手册-3]子主题,结构与继承
  2. [Drupal模板制作手册-2]主题的解剖
  3. [Drupal模板制作手册-4]主题的.info文件
  4. [Drpal模板制作手册-5]重写可主题化的输出

标签:CSS • drupal • 模板

© 笨活儿   允许转载,但请以链接形式保留出处。也欢迎您使用RSS订阅本博客。

  • « 支教小结
  • [Drupal模板制作手册-2]主题的解剖 »

感谢第一位留言的小朋友!

  1. sxz ←@
    十月 22, 2009 10:00 下午

    感谢了,感谢了!!!

多说话有益身体健康

点击这里取消回复。

请勿发表“顶”、“好”、“很有用”之类对他人没有帮助的话。欢迎针对文章内容发表您自己的真知灼见。

点击人名后面的 ←@ 可以回复TA。如果已经超过回复层级,您可以在上一级回复,并记得加上“@称呼”以注明您回复的是谁。

您可以订阅本文的RSS供稿,及时了解大家的讨论进度。


唠唠叨叨:
  • 02月10日
     ktmud: @jeuxee 明明一个点击就可以完成的事,要强迫用户用拖拽... 装逼装到这个份儿上,我看着恶心 
  • 02月10日
     ktmud: http://t.co/6Muc6KnG  ..... “把安装包拖动到这里下载”.... 苹果用户就是高贵 
  • 02月10日
     ktmud: @feelinglucky 台湾站也要备案? 
  • 02月09日
     ktmud: @helloleo 因为他贵 
  • 02月09日
     ktmud: RT @junyu: Google 这个短信计费方式太搞笑了… http://t.co/wqEuO2bx 

follow me!


  • 日历 Calendar

    2012 年二月
    一二三四五六日
    « 十二  
     12345
    6789101112
    13141516171819
    20212223242526
    272829 
  • 分类文章 Categories

    • Web技术 (28)
      • 交互和UE (2)
      • 前端开发 (14)
      • 网页设计 (9)
    • 人微言轻 (20)
    • 外语笔记 (10)
      • 英语精译精析 (6)
    • 好康推荐 (16)
    • 娱乐至死 (54)
    • 生活琐碎 (52)
    • 设计丛谈 (5)
  • 有情博客 Blogroll

    • 个篱: 音乐媒体观察
    • 偶为“英音”狂
    • 奇技淫巧
    • 小苑
    • 岁月如歌
    • 明城
    • 暂不留名
  • 博客群落 MyBlogs

    • 一同堕落
    • 丘迟的维基
    • 千吨泥 – 前端技术
    • 千吨泥维基
    • 千吨瞎想
    • 超哥爱你

人人 | 豆瓣 | Last.Fm | Facebook | Google Reader | 百度 | 维基百科

© 笨活儿 2009

本站所有内容均可自由转载,但请遵循CC协议规定

Powered By WordPress, Original Theme by BenHuoer