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.
hostodo从2014年年底运作至今一直都是走低价促销侧率运作VPS,在市场上一直都是那种不温不火的品牌知名度,好在坚持了7年都还运作得好好的,站长觉得hostodo还是值得大家在买VPS的时候作为一个候选考虑项的。当前,hostodo有拉斯维加斯和迈阿密两个数据中心的VPS在促销,专门列出了2款VPS给8T流量/月,基于KVM虚拟+NVMe整列,年付送DirectAdmin授权(发ticket...
数脉科技怎么样?昨天看到数脉科技发布了7月优惠,如果你想购买香港服务器,可以看看他家的产品,性价比还是非常高的。数脉科技对香港自营机房的香港服务器进行超低价促销,可选择10M、30M的优质bgp网络。目前商家有优质BGP、CN2、阿里云线路,国内用户用来做站非常不错,目前E3/16GB阿里云CN2线路的套餐有一个立减400元的优惠,有需要的朋友可以看看。点击进入:数脉科技商家官方网站香港特价阿里云...
Dataideas是一家2019年成立的国外VPS主机商,提供基于KVM架构的VPS主机,数据中心在美国得克萨斯州休斯敦,主机分为三个系列:AMD Ryzen系列、Intel Xeon系列、大硬盘系列,同时每个系列又分为共享CPU和独立CPU系列,最低每月1.5美元起。不过需要注意,这家没有主页,你直接访问根域名是空白页的,还好他们的所有套餐支持月付,相对风险较低。下面以Intel Xeon系列共...