弄过drupal的,对blog中的submitted都不会太陌生吧,Submitted by admin on Tue, 04/12/2011 – 11:54这是其默认的一种风格,今天我们只要来看如何在drupal7中改写这种风格。) j! v M" M7 D0 R, c
首先我们来看看在drupal6中的实现方法:
- a. r$ C, o# J: n6 I5 O. N
% Y) i+ c2 T! y, H. ~4 I1 l. z1、在相应的主题下,加上下面的代码# q, j5 n) O9 g
function yourthemename_node_submitted($node) {return t('Posted by !username on @datetime', array('!username' => theme('username', $node),'@datetime' => format_date($node->created, 'custom', 'd M Y')));}
2 _4 @$ H @4 w* T. g7 c b- w+ T4 f0 ]( \1 g6 ^1 C* g6 \1 ?
2、然后在node.tpl.php文件中加入
3 C& v/ o' e4 Y5 S/ i$ H- S- P<?php if ($display_submitted): ?> <?php print $submitted ?><?php endif; ?>
9 f: }- r+ K' p! d( y0 Q8 @' I) }+ f 清除缓存就能看到改过后的效果了。- S6 y/ o+ Y! l- t. @9 ^; ~ I
上面是在drupal6下的修改方法,而我们今天的主题是如何在drupal7下改写。有人会说,就按上面那种方法不行吧,在我试过之后,是没有任何效果的,后来经查询才得知,在drupal7下好像是不存在这个么下theme_node_submitted()函数。如此下来我们为了要得到效果就需要通过其他的方法。现在我总罗列几种修改的方法
; n( ^/ k4 ^+ T
) P( a- R! c, \* h第一种方法:
" S7 L7 H. d& S 我们在相应主题下的template.php下加入下面的代码/ s, R5 N- r4 r; [, }# Y7 S
function html5_preprocess_node(&$variables) { $variables['submitted'] = t('By !username on !datetime', array('!username' => $variables['name'], '!datetime' => $variables['date']));}# V# _) C- x, R. d3 k4 f# a% ]
加完之后同样需要在node.tpl.php下加入
2 }, o% a1 z% G f<?php if ($display_submitted): ?> <?php print $submitted ?><?php endif; ?>/ b. I2 n' {" S: F
这样才能显示出来的。9 \2 x: L! f! W; s" t4 z6 ]1 F3 O
2 ?0 z; o' P( v第二种方法:/ _% @2 P- e2 N/ m% H5 u; x
直接在node.tpl.php下修改。也就是在node.tpl.php文件中加入/ Z: C4 W4 @4 d! L$ P
<?php if ($display_submitted): ?> <footer class="author"> <?php print t('By !username on !datetime', array('!username' => $name, '!datetime' => format_date($node->created))); ?> </footer><?php endif; ?>
- F& [/ P. x* K5 J1 y/ S+ V! R 如果还想修改日期格式,我们可以把代码换成3 {% u/ F( k5 G
<?php print t('By !username on !datetime', array('!username' => $name, '!datetime' => format_date($node->created, 'custom', 'd M Y')));?>
; G! M+ @0 k: c. h) c/ M | }* C1 S& w, F0 s" g! K
第三种方法:
, z. i6 n0 u$ P9 n" {+ l 这种方法和第二种是一样的,只是我们把上面的分成了两部分,有时为了更好的布局,所以我现在拆开来放0 k7 _& w+ s9 o# s
<?php if ($display_submitted): ?> <footer class="author"> <div class="username"> <?php print t('By !username',array('!username'=> $name)); ?> </div> <div class="date"> <?php print t('on !datetime',array('!datetime'=>format_date($node->created, 'custom', 'Md, Y'))); ?> </div> </footer><?php endif; ?>' o5 G; x8 U5 Q
4 P# M: k+ U# }" K- {
+ z$ ?7 R L; P/ ?2 { 如需转载请注明出处:W3CPLUS5 _: @& b+ k$ W
! g8 n* }* C1 d9 X |
|