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.
不知道大家是否注意到sharktech的所有服务器的带宽价格全部跳楼跳水,降幅简直不忍直视了,还没有见过这么便宜的独立服务器。根据不同的机房,价格也是不一样的。大带宽、不限流量比较适合建站、数据备份、做下载、做流媒体、做CDN等多种业务。 官方网站:https://www.sharktech.net 付款方式:比特币、信用卡、PayPal、支付宝、西联汇款 以最贵的洛杉矶机器为例,配置表如...
关于Linode,这是一家运营超过18年的VPS云主机商家,产品支持随时删除(按小时计费),可选包括美国、英国、新加坡、日本、印度、加拿大、德国等全球十多个数据中心,最低每月费用5美元($0.0075/小时)起。目前,注册Linode的新用户添加付款方式后可以获得100美元赠送,有效期为60天,让更多新朋友可以体验Linode的产品和服务。Linode的云主机产品分为几类,下面分别列出几款套餐配置...
官方网站:点击访问青云互联官网优惠码:五折优惠码:5LHbEhaS (一次性五折,可月付、季付、半年付、年付)活动方案:的套餐分为大带宽限流和小带宽不限流两种套餐,全部为KVM虚拟架构,而且配置都可以弹性设置1、洛杉矶cera机房三网回程cn2gia 洛杉矶cera机房  ...