弄过drupal的,对blog中的submitted都不会太陌生吧,Submitted by admin on Tue, 04/12/2011 – 11:54这是其默认的一种风格,今天我们只要来看如何在drupal7中改写这种风格。0 ], a5 V1 Z9 ~& m
首先我们来看看在drupal6中的实现方法:8 O4 A8 h, C! }* E5 o
' {5 k8 g A; a% d" }; U1、在相应的主题下,加上下面的代码1 k1 V: ` o5 R& S# K
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')));}* J% X* x V( m+ r8 z
" c( {: M- g' n0 B1 Z2、然后在node.tpl.php文件中加入
" X5 d7 K2 A# C& z6 x2 O3 X<?php if ($display_submitted): ?> <?php print $submitted ?><?php endif; ?>
# W7 U* ^" j; [; U) b 清除缓存就能看到改过后的效果了。) g1 s9 M2 ^8 E
上面是在drupal6下的修改方法,而我们今天的主题是如何在drupal7下改写。有人会说,就按上面那种方法不行吧,在我试过之后,是没有任何效果的,后来经查询才得知,在drupal7下好像是不存在这个么下theme_node_submitted()函数。如此下来我们为了要得到效果就需要通过其他的方法。现在我总罗列几种修改的方法$ a6 ]1 X* w' C7 K8 i* \" |) {
. _ a' }( q5 q. {& U; q* S
第一种方法:2 Q7 A1 y2 p6 a1 I1 Z' K X0 T( ]
我们在相应主题下的template.php下加入下面的代码# y" Z& U( q7 r$ i q, e
function html5_preprocess_node(&$variables) { $variables['submitted'] = t('By !username on !datetime', array('!username' => $variables['name'], '!datetime' => $variables['date']));}
/ R6 g! _ H0 X/ f, c 加完之后同样需要在node.tpl.php下加入
3 U& @. o/ ~$ W- l& z<?php if ($display_submitted): ?> <?php print $submitted ?><?php endif; ?>
# |: H/ S; M8 ~' X" L 这样才能显示出来的。
4 e- g1 o9 W* W0 }8 v# x$ ?8 S1 d, O/ G! M# _; v0 m
第二种方法:- f; M& G, H1 }. B! |) q2 r7 v
直接在node.tpl.php下修改。也就是在node.tpl.php文件中加入$ J/ C8 N0 D/ a7 h- K; f0 W
<?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; ?>
6 T! e4 E7 J0 R: h 如果还想修改日期格式,我们可以把代码换成
# {/ o4 }+ ~3 {" e<?php print t('By !username on !datetime', array('!username' => $name, '!datetime' => format_date($node->created, 'custom', 'd M Y')));?>7 S; K( G- _/ t/ V( K. K
" d2 e0 u# T* l. y. i第三种方法:7 b% h7 P# u& P' K; h) I' y, n
这种方法和第二种是一样的,只是我们把上面的分成了两部分,有时为了更好的布局,所以我现在拆开来放1 d' ^) c Y9 A6 @% p
<?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; ?>
5 E, |% X' b/ |7 R0 W5 r( C! b. Y0 w$ f# j4 | M, d! C9 S
3 m1 M- D' s4 K9 \& A: m
如需转载请注明出处:W3CPLUS
$ [( T2 V8 N; [% ]5 A, v1 w6 T
# i3 K' ~: k$ z: j/ k6 b |
|