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

请问如何制作一个 block 使其显示指定的数据

赞成!
0
否决!

要以表格的形式显示

可以直接用SQL吗?

比如

如何 显示当前用户的 node 类型为A 的文章 这个要如何 制作成一个block? 又是如何排序? 请给我个实际的例子 感激不尽。

7 个回答

赞成!
0
否决!

用views,很简单,网上随便找个views的教程,都会讲到的

赞成!
0
否决!

不用views~~  自己写

赞成!
0
否决!

帮你找一个方擎的:http://www.fang798.com/cn/drupal_views_quick_start

 

赞成!
0
否决!

当然可以自己写了,我所知道的方法有2种:

1、自己创建一个区块,开启PHP filter,用PHP片段可以实现;

2、参照诗人的留言板程序,写一个模块,:http://www.drupalla.com/node/1679

赞成!
0
否决!

第2个方法里,唯一要改的地方就是查询部分:

$query = db_select('node', 'n');                    //查询node表,设置别名n
$query
->condition('type', 'A')                                   //通过db_select的condition方法指定node的类型为A
->fields('n', array('title','created'))              //显示的字段
->range(0,100);                                          //指定查询的范围
->orderBy('created', 'DESC')                     //按发布日期和标题排序
->orderBy('title', 'ASC');

赞成!
0
否决!

如果要显示作者名字,就要用到关联查询了,将node表的uid字段关联到user表,取user表的name值

赞成!
0
否决!

例如:

->join(‘users’,‘u','n.uid=u.uid');

->addField('u','name','作者');       //(或者field)