不使用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来进行数据库查询~