弄过drupal的,对blog中的submitted都不会太陌生吧,Submitted by admin on Tue, 04/12/2011 – 11:54这是其默认的一种风格,今天我们只要来看如何在drupal7中改写这种风格。, E' Z; B% X: e. t, k5 {
首先我们来看看在drupal6中的实现方法:' I: z- u) d5 k! }& l0 c
@: u" _$ [ V) E1、在相应的主题下,加上下面的代码, W& ~9 P$ X; r6 n
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')));}+ r2 U9 c# \% y8 B* U8 j
; c- B- Q g; n6 h( L2、然后在node.tpl.php文件中加入: v4 X/ n, p3 ^9 a* T6 r
<?php if ($display_submitted): ?> <?php print $submitted ?><?php endif; ?>: j& B1 G" }& m5 [
清除缓存就能看到改过后的效果了。) E% G+ l. b( Z/ Q' j; Z5 g
上面是在drupal6下的修改方法,而我们今天的主题是如何在drupal7下改写。有人会说,就按上面那种方法不行吧,在我试过之后,是没有任何效果的,后来经查询才得知,在drupal7下好像是不存在这个么下theme_node_submitted()函数。如此下来我们为了要得到效果就需要通过其他的方法。现在我总罗列几种修改的方法6 g$ O$ P5 L4 s, A s& x2 R1 S7 c& o2 R
8 k5 y, ?1 f1 n D第一种方法:. G4 a3 z d6 j7 y* t
我们在相应主题下的template.php下加入下面的代码
* I# X5 E' v# |4 |function html5_preprocess_node(&$variables) { $variables['submitted'] = t('By !username on !datetime', array('!username' => $variables['name'], '!datetime' => $variables['date']));}
7 w" K2 J5 D. W) p% d 加完之后同样需要在node.tpl.php下加入4 k9 G S" ~2 l5 D
<?php if ($display_submitted): ?> <?php print $submitted ?><?php endif; ?>
P7 k/ r+ u- q/ F+ s2 [ 这样才能显示出来的。
) s3 S5 j- z" ~1 S# a$ X# z0 c# u' }( s' M0 M- k. N `+ e( _5 p9 v
第二种方法:) m4 Y* k* l- e$ r
直接在node.tpl.php下修改。也就是在node.tpl.php文件中加入
7 W5 D8 R1 x# b- O" N; m<?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; ?>; z0 p& q$ A1 `
如果还想修改日期格式,我们可以把代码换成1 I+ i; n1 l, E' z
<?php print t('By !username on !datetime', array('!username' => $name, '!datetime' => format_date($node->created, 'custom', 'd M Y')));?>
0 d5 U0 }) Q" U. N2 C5 c8 E& S$ K) ?* B0 m9 S. i& L
第三种方法:
: q" a* T2 a {4 Z 这种方法和第二种是一样的,只是我们把上面的分成了两部分,有时为了更好的布局,所以我现在拆开来放
4 a' p& `' o! f6 t5 B- [/ e<?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; ?>
: T. R: A) S5 D1 u
/ f; I; O5 [3 q; R$ Z, j; g" R1 Z7 \# J2 ^6 q. R
如需转载请注明出处:W3CPLUS
{1 w: C2 L; u, G0 i' r( r6 A
3 `* m9 K8 L5 ^5 u# U, `1 B) R |
|