公告:

Drupal 7 主题模板概述

作者:star0312 / 时间:10年前 (2015/08/16) / 分类:Drupal / 阅读:1018 / 评论:0

 

Drupal是一个开源的内容管理系统(CMS) 平台,它是用PHP写成的。主要用于构造提供多种功能和服务的动态网站,这些功能包括用户管理(UserAdministration)、发布工作流 (Publishing Workflow)、讨论、新闻聚合(NewsAggregation)、元数据(Metadata)操作和用于内容共享的XML发布。Drupal有一个优秀的模块化结构,提供了许多模块,包括短消息、个性化书签、网站管理、Blog、日记、电子商务、电子出版、留言簿、Job、网上电影院、论坛、投票 等模块。并且Drupal模块的下载、安装、定制非常方便。

 

一、Drupal主题模板的构造

Drupal主题模板是一些定义描述层的文件组合,你也可以创造子主题(sub-theme),只有.info文件是必须的,当然大多数主题和子主题同样需要其他文件。

.info

.info文件的文件格式类似于INI文件,它是用来配置主题的静态文本文件,每一行都有一个关键词和一个相对的值,中间用“等号”相连(范例:key = value),分号用来注释一行字符。有些关键词使用数组的形式来表现一组关联的值。
.info包含以下关键词:

  1. name 必须

  2. description 推荐

  3. screenshot

  4. version 不推荐

  5. core 必须

  6. engine 多数情况下并须

  7. base theme

  8. regions

  9. features

  10. stylesheets

  11. scripts

  12. php

范例(通常不会这么完整):

Java代码  Drupal 7 主题模板概述
  1. name = A fantasy name  

  2. //模板名称是必须的,这是用户可读的名字,与主题的Drupal内部名字可以分开单独进行设置。这在这里,字符的限制则很少。  

  3. description = Tableless multi-column theme designed for blogs.  

  4. //推荐,主题的简短描述  

  5. screenshot = screenshot.png  

  6. //截图键时可选的,它告诉Drupal主题的缩略图在哪里,在选择主题页面(admin/build/themes)里用到了缩略图.如果.info文件中忽略了该键,那么Drupal就会使用主题目录下面的”screenshot.png”文件。  

  7. 只有当你的缩略图不叫"screenshot.png",或者你不想把它放到你主题的根目录(比如,screenshot = images/screenshot.png)下面时,才使用该键。  

  8. version = 1.0  

  9. 当发布一个新的版本时,drupal.org会自动为其添加一个版本号。当你为Drupal贡献主题时,你可以忽略该值。如果你的主题没有放到drupal.org上的话,你可以为你的主题指定任意一个版本号。  

  10. core = 7.x  

  11. //内核,必须的,从Drupal 6.x开始,模块和主题的.info文件都必须指明它们兼容的Drupal内核主版本号。这里设的值将与DRUPAL_CORE_COMPATIBILITY常量相比较。如果不匹配的话,那么主题将被禁用。  

  12. engine = phptemplate  

  13. //主题引擎,推荐供主题使用。如果没有提供引擎的话,那么主题就是独立的,比如,实现一个”.theme”文件。大多数主题都使用”phptemplate”作为默认引擎。  

  14. PHPTemplate负责查找主题用到的主题函数和模板。只有当你理解你在做什么的时候,你才可以忽略这一设置。  

  15. base theme = garland  

  16. //子主题可以声明一个基主题。这允许主题的继承,也就是说基主题中的资源将被传递下来并在子主题中使用。子主题可以声明别的子主题作为其基主题,也就是允许多重继承的存在。基主题的名字为其在Drupal内部的名字。下面是Garland的子主题Minnelli的相应设置。  

  17. regions[header] = Header  

  18. regions[highlighted] = Highlighted  

  19. regions[help] = Help  

  20. regions[content] = Content  

  21. regions[sidebar_first] = Left sidebar  

  22. regions[sidebar_second] = Right sidebar  

  23. regions[footer] = Footer  

  24. //我们这样定义主题中的区域,声明键’regions’,紧跟着“[”,接下来是内部名字,接着是“]”,然后是一个等号,右边是用户可读的区域名字。例如,regions[theRegion] = The region name.  

  25. features[] = logo  

  26. features[] = name  

  27. features[] = slogan  

  28. features[] = node_user_picture  

  29. features[] = comment_user_picture  

  30. features[] = favicon  

  31. features[] = main_menu  

  32. features[] = secondary_menu  

  33. //特性  

  34. 许多由主题控制输出的页面元素,可以在主题的配置页面启用或者禁用. “features”键控制着出现在主题配置页面上的复选框.对于一个主题,如果你不想为其定义某个复选框时,着非常有用.为了删去某个复选框,只需要在”features”中将其删除即可.如果一个也没有定义的话,那么会输出所有默认的复选框.  

  35. 下面的例子列出了所有由features键控制的元素.通过注释掉primary_links和secondary_links元素,那么站点管理员就不会看到这两个复选框了.  

  36. stylesheets[all][] = theStyle.css  

  37. stylesheets[print][] = print.css  

  38. //传统方式,主题可自动的使用默认的style.css,并且可以在它们的template.php文件中通过调用drupal_add_css()来添加其它样式表。从Drupal6开始,主题也可以通过.info文件来添加样式表。  

  39. scripts[] = myscript.js  

  40. //传统方式,主题通过在template.php文件中调用drupal_add_js()来添加javascripts脚本。从Drupal6开始,主题也可以通过.info文件来添加javascripts了。  

  41. php = 4.3.3  

  42. //这个定义了主题支持的PHP最低版本。其默认值源自DRUPAL_MINIMUM_PHP常量,它是Drupal内核所需要的php最低版本。对于一个新的版本,如果需要的话,可以对其进行重新定义。而对于大多数的主题,都不应该添加这一项。  

  43. ; Information added by drupal.org packaging script on 2011-04-23  

  44. version = "7.0"  

  45. project = "drupal"  

  46. datestamp = "1202913006"  

  

二、核心模板 Core Template

默认模板:

 

注:本文来自justcoding的博客,再次表示感谢。

  • 我的QQ二维码
  • QQ群
  • 我的微信二维码
  • 微信公众号

没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。