Drupal主题文件分析
一个主题就是使用一堆文件来定义网站的外观你不仅可以制作一个或者多个“子主题”也可以只改原主题的某一部分。而这一切仅要求创建info文件当然还是有必要创建其他文件否则新主题就会变得无意义了。下面图片展示了一个典型主题或者“子主题”中各文件的作用域。
Drupal6
Drupal7
.info(require)
Drupal主题必须要有一个info文件这个文件用来预设mate数据,css文件,JavaScripts,块区域和很多可以设置的属性这些属性都是可选的。
主题内部定义的主题名字也是由info文件定义的例如如果命名为drop info那么Drupal系统就视drop为主题的名字在Drupal5之前的版本主题的名字都是由主题文件夹定义的例如/s ites/al l/themes/mytheme mytheme就是主题名字。info文件在Drupal6之前是没有的 以前仅用于模块之中
模版文件template files(. tp l .php)
这个模板使用(x)html符号和php变量除了一般输出html数据之外一些情况下也可以输出成其他格式例如 xml ress等等。每个内置tpl php模板文件都会输出页面中的某一块区域但在一些情况下可以使用"suggestions"方法令一个模板文件同时替换输出几个模板文件区域。这是可选的意思是说假如你的主题文件夹里没有这些模板 drupal就会直接返回内置模板输出区域内容。为了防止令这些文件产生复杂的罗辑关系大多情况下模板文件应直接使用(x)html符号和php变量。
内置模板一般存在于系统和模块文件夹里例如/sites/al l/modules或者/modules/ 你可以从这些文件夹里复杂这些模板文件然后粘贴到你的主题文件夹里例如
/sites/al l/themes/mythemes/template下 这样你就可以尽情去修改成你的版本了。
注意 drupal的themes registry会缓存你的主题变量和数据因此当你增加、删除、修改模板或者改变主题函数之后你都应该清除缓存使更改生效。template.php
这个文件是用于输出内容之前进行处理数据和判断逻辑条件。这个template php并不是必须的但是为了使tpl php文件整齐易打理建议创建一个它不仅可以在输出内容之前使用函数产生变量、合并到模板当中也可以自定义函数、复写主题的内置函数还可以令原始数据进行组织后再输出。这个文件必须以php的开始符号 《?php开始但不一定以php的?》结尾我的建议是直接把它忽略了。
子主题(sub-themes)
表面看来子主题跟别的主题没什么不一样唯一不同就是他继承了“父主题”所有内容。如果你想创建一个子主题那个info文件还是必须要有的这个文件就是用来指定“父主题”然后从“父主题”那里继续内容。有意思的是一个子主题也可以是另一个子主题的父主题意思就是说主题可以有多级继承而且没有级数的限制。
在drupal5之前子主题必须创建于父主题文件夹内但之后就不再需要这么做了
其他
不做Lo go和主题预览图对主题功能没什么影响但我建议你做出来。特别是你如果想到
Drupal.org或者本站分享你的主题别人安装之后在主题管理页面会出现你的主题预览图假如
没有就会变成空白 如果在网民使用网站的切换主题功能时如果有权限的话 也会在用户
设置页面的主题选项中出现你的主题预览图。可以前往S c ree nsho t g u ide lin es查看更多相关信息。 为了提供管理页面的UI或者“特写(fe atures)”包括LOGO、搜索、任务等等你可以使用
“theme-settingsphp“这个文件这是一个高级的功能想了解更多请查看Advanced s ettings.手
册。
如果你想使用颜色模块你可以到"co lo r"文件夹内探索里面有一个必须的"c o lo r.in f"文件
还有其他支持文件。
如果你想修改系统的核心主题你可以建一个子主题又或者把核心主题里的文件复制到你
的主题文件夹里。我非常不支持你直接在内置的核心主题Bartik,Gar lan,minn e li中修改原文件因
为这些文件是用在系统安装和升级过程中。
所有的非核心主题或者自制主题都必须放到/s ites/all/themes/之下 以此把自制主题与核心主
题分开。如果你计划在一个Drupal代码上运行多网站建议你在每个站点上使用独立的主题而
不是所有站点使用同一主题如果想知道更多关于“多网站”的信息可以查看Multi-sitein st allat ions.
cloudcone经常性有特价促销VPS放出来,每次的数量都是相当有限的,为了方便、及时帮助大家,主机测评这里就做这个cloudcone特价VPS补货专题吧,以后每次放货我会在这里更新一下日期,方便大家秒杀!官方网站:https://cloudcone.com/预交费模式,需要充值之后方可使用,系统自动扣费!信用卡、PayPal、支付宝,均可付款购买!为什么说cloudcone值得买?cloudc...
hostkvm怎么样?hostkvm是一家国内老牌主机商家,商家主要销售KVM架构的VPS,目前有美国、日本、韩国、中国香港等地的服务,站长目前还持有他家香港CN2线路的套餐,已经用了一年多了,除了前段时间香港被整段攻击以外,一直非常稳定,是做站的不二选择,目前商家针对香港云地和韩国机房的套餐进行7折优惠,其他套餐为8折,商家支持paypal和支付宝付款。点击进入:hostkvm官方网站地址hos...
CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...