|
以前不怎么关心Theme的.info文件,因为多半是改现有的Theme。今天有这样一个需求:我需要创建一个区块,里面是一些描述性的文字,显示在一个Views列表的标题下方。 1 F) [% R" g5 z
实现的方法肯定是创建一个区块,然后将其放置在标题下方、列表上方最好了。不过我创建了区块,放置在content区域中后,发现了问题:它会显示在列表下面,而不是上面。而且无法更改。 即然这样,可能需要更改主题了。在列表的上方增加一个区域,然后将列表的标题隐藏,显示新创建的区块标题。这样就实现了需求。因此首先需要在Drupal 6的主题中注册一个新的区块,放在content区域的上方。
$ {, u! U" j: }# B" }3 s
我查了Drupal 的 Theme帮助文档,发现了一些我以前忽略的问题。现摘录如下: - 每一个区块都对应一个.tpl.php文件,可以用于修改模板
- 增加一个区域,需要在.info里注册。但像Garland这样使用默认区域的主题,是没有在.info里声名区域的。如果你想增加一个,需要把这些默认的也重新在.info里声明一遍。
- 在.info里定义的区域的定义顺序,会影响在Block配置时,区块的显示顺序。
- Page的内容,均在$content变量中输出。当一个主题注册了content这个区域后。然后被按排在content区域显示的区块,都会追加到content内容后面。
- .info文件中的内容是会被缓存到数据库中的,所以只修改文件不会马上影响主题,需要清空缓存(不过这个和theme registry是不同的概念,不要混淆)。在Drupal中有三种方法可以重建.info:- z8 x5 Y- R0 @4 N; }
1. Administer > Site configuration > Performance中的clear all cached data
9 w1 M1 T: |2 S" b$ ?6 h! N! l2. 使用Devel模块的Empty cache
, ~% N& |7 @& T8 X: e* `/ f" E3. 访问Administer > Site Building > Themes(即浏览全部可用主题模板)即可4 K5 `6 \- K( A# |" f/ `
4 o6 [ M# @ U+ k- J摘自:方医生798,谢谢!9 [6 T& r! `5 D8 J( _
- q" O0 A. v' j1 f& t, v* h! C
9 x0 ^# t) L- b2 _" X4 h4 B6 B
% K$ r" q/ `" s8 R( M7 _$ t
( h& U; E9 F9 b8 E: B9 S( N/ P" W: e9 [7 O3 c T- f# g. k
|