不使用Views,自定义drupal输出内容

drupal 的views确很强大~但用起来很麻烦。所以我们可以自定义输出内容。
<?php
echo '<h2>最新story</h2>';
$result = db_query_range("SELECT n.nid, n.title FROM {node} n WHERE n.type = 'story' ORDER BY n.created DESC", 10);
$i = 0;
while (
$test = db_fetch_object($result)) {
    echo
l($test->title,'node/'.$test->nid).'<br>';
   
$i++;
    };
if(!
$i ){
echo
'没有文章';
}

if(
$i > 5){
    echo
'<a href="/story/all">更多</a>';
}
?>
---------------------------------------------------------------分页显示-------------------------------------------------------

<?php
echo '<h2>新闻列表</h2>';
$result = pager_query("SELECT node.nid AS nid,
   users.name AS users_name,
   users.uid AS users_uid,
   node.created AS node_created,
   node.title AS node_title
 FROM node node
 INNER JOIN users users ON node.uid = users.uid
 WHERE node.type in ('blog')
   ORDER BY node_created DESC
", 15);
$i = 0;
while ($test = db_fetch_object($result)) {
echo    l($test->node_title,'node/'.$test->nid).
        l($test->users_name,'user/'.$test->uid).
        format_date($test->node_created,'custom', 'm/d/Y ').'<br>';
               $i++;
};
if(!$i) {
echo '没有文章';
}
echo '<p>'.theme('pager', NULL, 15).'</p>';
?>
----------------------------------------------显示整个内容----------------------------------------

<?php
echo '<h2>新闻列表</h2>';
$result = pager_query("SELECT n.nid FROM {node} n INNER JOIN {node_counter} s ON n.nid = s.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'story' ORDER BY n.created DESC", 15);
$i = 0;
    while (
$test = db_fetch_object($result)) {
       
$output .= node_view(node_load(array('nid' => $test->nid)), 1);//这儿的1或0是全文或摘要。
               
$i++;
   };
if(!
$i) {
    echo
'没有文章';
}
echo
'<p>'.theme('pager', NULL, 15).'</p>';
?>

如果不对drupal的数据库不太熟悉 可以利用Views来进行数据库查询~

posted @ 2009-09-02 19:04  Pigg  阅读(473)  评论(0编辑  收藏  举报