资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
主题制作之主题的.info文件info配置文件是在Drupal6中新赠的,每个主题都必须有一个.info文件.该文件应该放在你主题的目录下面.如果没有该文件的话,Drupal就找不到你的主题. .info文件的后缀名必须为.info.主题在Drupal内部的名字源自于这个文件.例如,如果文件名为drop.info,那么在Drupal内部,主题名字就为drop.名字里面不要包含奇怪的字符,这是由于在Drupal中,许多PHP函数都是以主题名打头的,所以主题名和函数名存在同样的限制。起始字符必须为alphabetic字母,不能包含空格,标点等字符。可以包含下划线,但是不能包含连字符。数字字符也是允许的,但不能出现在首位。注意: 警告!模块的内部名称如果与主题的内部名称重名的话,那么你的站点将不能工作。因为可能会造成同名函数的存在,这在PHP中是非法的。每个安装了的部件(模块或者主题)都必须有一个唯一的名字。 .info文件中的内容是缓存在数据库中的,所以对它的修改不会在Drupal中立马生效。(不要与主题注册表的缓存相混淆了。)为了清除缓存,须这样做:1. 导航到Administer Site configuration Performance,点击clear按钮。2. 如果启用了devel区块(安装了devel模块的话),点击Empty cache(“清空缓存”)链接。3. 然后导航到主题选择页面Administer Site building Themes。语法与INI(http:/en.wikipedia.org/wiki/INI_file)文件类似。.info文件就是一个用来配置主题的的静态文本文件。文本文件的每一个行就是一个键值对(key-value),其中键位于左边,值位于右边,而中间则有一个等号。(例如:key = value)。分号是用来注释的。有些键使用了特殊的语法,带有中括号,用来构建一列关联值,也就是我们常说的“数组”.如果你不熟悉数组的话,模仿Drupal默认.info文件中的例子,根据例子中的解释,完全可以依葫芦画瓢,得到自己的数组了。Drupal可以识别下面所列的键。如果.info文件没有设置的话,Drupal将为其使用默认值(http:/drupal.org/node/171206)。可参看核心主题中的例子(http:/drupal.org/node/171205#example#example)。 name ! (名字) description * 描述 screenshot 截图 version * 版本 core ! 内核 engine * 引擎 base theme 基主题 regions 区域 features 特性 stylesheets 样式表 scripts 脚本 php php主题的.info文件介绍name (required) 名字(必须)这是用户可读的名字,与主题的Drupal内部名字可以分开单独进行设置.这在这里,字符的限制则很少.name = Un tema nombre de fantasiadescription (recommended) 描述(推荐)主题的简短描述.你可以在页面Administer Site building themes看到主题的描述.description = Tableless multi-column theme designed for blogs.screenshot 截图截图键时可选的,它告诉Drupal主题的缩略图在哪里,在选择主题页面(admin/build/themes)里用到了缩略图.如果.info文件中忽略了该键,那么Drupal就会使用主题目录下面的screenshot.png文件.只有当你的缩略图不叫screenshot.png,或者你不想把它放到你主题的根目录(比如,screenshot = images/screenshot.png)下面时,才使用该键。screenshot = screenshot.pngversion (recommended) 版本(推荐)当发布一个新的版本时,drupal.org会自动为其添加一个版本号。当你为Drupal贡献主题时,你可以忽略该值。如果你的主题没有放到drupal.org上的话,你可以为你的主题指定任意一个版本号。version = 1.0core (required) 内核(必须)从Drupal 6.x开始,模块和主题的.info文件都必须指明它们兼容的Drupal内核主版本号。这里设的值将与DRUPAL_CORE_COMPATIBILITY常量相比较。如果不匹配的话,那么主题将被禁用。core = 6.xdrupal.org的打包脚本,将根据每个发布版本的Drupal内核兼容性设置,自动设置该值。所以从drupal.org下载下来的主题,设置总是正确的。然而,对于直接通过CVS部署的Drupal站点来说,如果你将这一修改提交到你主题的.info文件中去的话,将会很有帮助。它也能够非常方便的帮用户指出,主题兼容CVS的HEAD中的哪些内核版本。engine (recommended) 引擎(推荐)主题引擎,供主题使用。如果没有提供引擎的话,那么主题就是独立的,比如,实现一个.theme文件。大多数主题都使用phptemplate作为默认引擎。PHPTemplate负责查找主题用到的主题函数和模板。只有当你理解你在做什么的时候,你才可以忽略这一设置。engine = phptemplatebase theme 基主题子主题可以声明一个基主题。这允许主题的继承,也就是说基主题中的资源将被传递下来并在子主题中使用。子主题可以声明别的子主题作为其基主题,也就是允许多重继承的存在。基主题的名字为其在Drupal内部的名字。下面是Garland的子主题Minnelli的相应设置。base theme = garland更多细节可参看子主题,它们的结构和继承(http:/drupal.org/node/225125)。regions 区域我们这样定义主题中的区域,声明键regions,紧跟着“”,接下来是内部名字,接着是“”,然后是一个等号,右边是用户可读的区域名字。例如,regionstheRegion = The region name.如果没有定义区域的话,那么使用下面的默认值。你可以根据自己的需要覆写这些值。regionsleft = Left sidebarregionsright = Right sidebarregionscontent = Contentregionsheader = Headerregionsfooter = Footer更多细节可参看,“区块,内容和它们的区域”(http:/drupal.org/node/171224)。features 特性许多由主题控制输出的页面元素,可以在主题的配置页面启用或者禁用. features键控制着出现在主题配置页面上的复选框.对于一个主题,如果你不想为其定义某个复选框时,着非常有用.为了删去某个复选框,只需要在features中将其删除即可.如果一个也没有定义的话,那么会输出所有默认的复选框.下面的例子列出了所有由features键控制的元素.通过注释掉primary_links和secondary_links元素,那么站点管理员就不会看到这两个复选框了.features = logofeatures = namefeatures = sloganfeatures = missionfeatures = node_user_picturefeatures = comment_user_picturefeatures = searchfeatures = favicon; These last two disabled by redefining the; above defaults with only the needed features.; features = primary_links; features = secondary_links更多信息参看”定制主题设置”(http:/drupal.org/node/221905).stylesheets 样式表传统方式,主题可自动的使用默认的style.css,并且可以在它们的template.php文件中通过调用drupal_add_css()来添加其它样式表。从Drupal6开始,主题也可以通过.info文件来添加样式表。stylesheetsall = theStyle.css更多信息可参看“样式表”一节(http:/drupal.org/node/171209)。scripts 脚本传统方式,主题通过在template.php文件中调用drupal_add_js()来添加javascripts脚本。从Drupal6开始,主题也可以通过.info文件来添加javascripts了:scripts = script.js更多信息参看 JavaScript & jQuery一节。php 这个定义了主题支持的PHP最低版本。其默认值源自DRUPAL_MINIMUM_PHP常量,它是Drupal内核所需要的php最低版本。对于一个新的版本,如果需要的话,可以对其进行重新定义。而对于大多数的主题,都不应该添加这一项。php = 4.3.3drupal主题制作之覆写可主题化的输出覆写机制有一个特定的级联顺序,当然也包含一些特殊情况。Drupal内核和模块使用主题钩子提供了一个合理的默认输出。如果默认输出不符合主题的 需求的话,那么就可以对其进行覆写,从而避免使用默认输出。这样,默认的将被放到一边去,我们不再管它,而将所有的特定修改放到所用的主题目录下面。不要 直接修改Drupal内核和模块,只在主题目录下面修改。如果传统的覆写不能满足你的需要的话,你可以使用主题注册表。注意:尽管在Drupal 6中PHPTemplate.engine还存在,但它已不再覆写主题函数了。在Drupal5中,它允许使用模板来处理部分主题钩子。而现在则不必要这样了。drupal6的主题注册表Drupal的主题注册表维护了主题钩子相关的缓存数据,包含主题钩子和如何处理它们的信息。对于大多数主题开发者来说,都不需要直接与注册表打交道。只需要记住,当添加或者删除主题函数和模板时,要清空它。编辑已有的函数和模板时,则不需要清空。清空主体注册表,有3方式:1. 位于Administer Site configuration Performance的clear按钮。2. 如果启用了devel区块(devel模块创建的),点击Empty cache连接。3. 使用API函数drupal_rebuild_theme_reg
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号