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.
10gbiz怎么样?10gbiz 美国万兆带宽供应商,主打美国直连大带宽,真实硬防。除美国外还提供线路非常优质的香港、日本等数据中心可供选择,全部机房均支持增加独立硬防。洛杉矶特色线路去程三网直连(电信、联通、移动)回程CN2 GIA优化,全天低延迟。中国大陆访问质量优秀,最多可增加至600G硬防。香港七星级网络,去程回程均为电信CN2 GIA+联通+移动,大陆访问相较其他香港GIA线路平均速度更...
virmach这是第二波出这种一次性周期的VPS了,只需要缴费1一次即可,用完即抛,也不允许你在后面续费。本次促销的是美国西海岸的圣何塞和美国东海岸的水牛城,周期为6个月,过后VPS会被自动且是强制性取消。需要临时玩玩的,又不想多花钱的用户,可以考虑下!官方网站:https://www.virmach.comTemporary Length Service Specials圣何塞VPS-一次性6个...
CloudCone发布了2021年的闪售活动,提供了几款年付VPS套餐,基于KVM架构,采用Intel® Xeon® Silver 4214 or Xeon® E5s CPU及SSD硬盘组RAID10,最低每年14.02美元起,支持PayPal或者支付宝付款。这是一家成立于2017年的国外VPS主机商,提供VPS和独立服务器租用,数据中心为美国洛杉矶MC机房。下面列出几款年付套餐配置信息。CPU:...