国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

Drupal 7 實現上一篇下一篇的簡單方法

2024-08-30 19:06:39
字體:
來源:轉載
供稿:網友

在建個人小站[阿亮php筆記]時,想在文章頁面實現“上一篇,下一篇”的效果,Drupal 7 是沒有默認帶這個功能的,網上也有寫好的模塊,不過個人感覺,這么一個小功能還裝個模塊的話,太浪費性能的,反正就兩條SQL搞定,就自己隨便寫一下吧.

在模板/sites/all/themes/liuzhiliang.com/template.php文件上加個函數,代碼如下:

  1. /** 
  2.  * myNodePrevNext 
  3.  * 文章上一篇下一篇 
  4.  * $nid - 節點id 
  5.  * $type - 節點類型 
  6.  */ 
  7. function myNodePrevNext($nid$type
  8.     $output = '<ul>'
  9.     $sql_previous = "SELECT n.nid, n.title, url.alias " 
  10.                   . "FROM {node} AS n " 
  11.                   . "LEFT JOIN {url_alias} AS url " 
  12.                   . "ON concat('node/',n.nid)=url.source " 
  13.                   . "WHERE n.nid < :nid AND n.type = :type " 
  14.                   . "ORDER BY n.nid DESC " 
  15.                   . "LIMIT 0, 1"
  16.     $result_previous = db_query($sql_previousarray(':nid' => $nid':type' => $type)); 
  17.     $strings = array(); 
  18.     foreach ($result_previous as $data
  19.     { 
  20.         $data->url = ($data->alias) ? $data->alias : '/node/' . $data->nid; 
  21.         $output .= '<li>上一篇:' 
  22.                 . '<a href="' . $data->url . '" title="' . $data->title . '">' 
  23.                 . $data->title 
  24.                 . '</a>' 
  25.                 . '</li>'
  26.     } 
  27.     $sql_next = "SELECT n.nid, n.title, url.alias " 
  28.               . "FROM {node} AS n " 
  29.               . "LEFT JOIN {url_alias} AS url " 
  30.               . "ON concat('node/',n.nid)=url.source " 
  31.               . "WHERE n.nid > :nid AND n.type = :type " 
  32.               . "ORDER BY n.nid ASC " 
  33.               . "LIMIT 0, 1"
  34.     $result_next = db_query($sql_nextarray(':nid' => $nid':type' => $type)); 
  35.     $strings = array(); 
  36.     foreach ($result_next as $data
  37.     { //Vevb.com 
  38.         $data->url = ($data->alias) ? $data->alias : '/node/' . $data->nid; 
  39.         $output .= '<li>下一篇:' 
  40.                 . '<a href="' . $data->url . '" title="' . $data->title . '">' 
  41.                 . $data->title 
  42.                 . '</a>' 
  43.                 . '</li>'
  44.     } 
  45.     $output .= '</ul>'
  46.     return $output

再到/sites/all/themes/liuzhiliang.com/templates/node.tpl.php加上下面這段代碼,具體位置看自己喜歡,我是在文章底部顯示,所以在回在了<div class="content clearfix"<?php print $content_attributes; ?>>后面,代碼如下:

  1. <?php if (!$teaser) : ?> 
  2.   <div class="previous_next"
  3.     <?php print myNodePrevNext($node->nid, $node->type); // 上下篇 ?> 
  4.   </div> 
  5. <?php endif; ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 改则县| 洛浦县| 福建省| 乾安县| 越西县| 绥棱县| 鄂温| 故城县| 临泉县| 洮南市| 尤溪县| 东港市| 凤山县| 城口县| 灵石县| 宜州市| 水城县| 玛曲县| 耿马| 肇源县| 德昌县| 嵩明县| 威信县| 南澳县| 民乐县| 昭通市| 香格里拉县| 台东市| 永福县| 东阿县| 珲春市| 岱山县| 林芝县| 龙川县| 通州市| 甘孜县| 柏乡县| 湾仔区| 馆陶县| 沁水县| 新平|