Drupal 7 开发内部培训资料, 分头诗人

用drupal 搭建一个传统留言版模块 2

猪跑啦独家原创专稿,欢迎您转载本文,转载请注明来源。

我们在用drupal 搭建一个传统留言版模块 1 中介绍了建立一个简单留言板的整个过程。而列表页是通过

1
2
3
$output .= theme('pager');
$output .= theme('table', array('rows' => $rows));
$output .= theme('pager');

实现的。其中

1
theme('table', array('rows' => $rows)); 

table 是系统自带的样式。是以表格形式列出列表。

可能你会觉得系统自带样式很死板,那能否能通过自定义样式,显示与众不同的留言板列表呢?答案当然是:可以。

具体feedback模块代码,请参看上一篇:用drupal 搭建一个传统留言版模块 1

首先我们把

1
2
3
$output .= theme('pager');
$output .= theme('table', array('rows' => $rows));
$output .= theme('pager');

改成

1
2
3
$output .= theme('pager');
$output .= theme('feedback', array('rows' => $rows));//自定义 样式为feedback
$output .= theme('pager');

我们打开feedback.module 并且调用hook_theme() 钩子,这样才能让自定义 样式为feedback生效:

1
2
3
4
5
6
7
8
function feedback_theme(){
return array(
  'feedback' => array(
                'template' => 'feedback',
    'variables' => array()
  ),
);
}

好了,我们在feedback模块下面建立一个模板文件:feedback.tpl.php

1
2
3
4
5
6
7
8
9
<div id="searchresults" class="clearfix">
<?php foreach($rows as $data){?>
<div class="feedback">
  <div class="email"><?php print $data['email']?></div>
  <?php print $data['title']?>
  <div class="created"><?php print $data['created']?></div>
</div>
<?php }?>
</div>

是不是很简单,赶紧清空缓存,看看效果。

留言板模块下载:猛击

评论

jasonzfx的头像

很好很强大!不得不支持!呵呵

xieph99的头像

如果能搞成视频教程出来就更容易理解些了~

jasonzfx的头像

@分头诗人 请教这个留言的用户页面能否做成区块那样子在区块列表显示?

sucfre的头像

一个字:牛,二个字:佩服

YoperMan的头像

怎么没有收藏或转载的功能~

lamp99的头像

麻雀虽小,五脏俱全,收藏了。。