您在這裡

笨辦法-顯示【上一篇< 本篇文章 >下一篇】方法。

Seo2design's 的頭像
Seo2design 在 2009-01-15 (四) 10:45 發表

我搜尋Drupal 6.x的、在單篇文章中呈現“上一篇 下一篇”的modules,找了好久,竟然沒有。真是囧。
我試著用Views2來完成,不成。
最后,我安裝了一個Content Templates模組(是CCK的一個附加模組),手動添加了3行代碼,實現了如100full.com單篇文章中的“上一篇 下一篇”鏈接呈現:
eg:
________________________________
上一篇 < 本篇文章 > 下一篇
________________________________

設定方法:

  1. 下載Content Templates模組,上傳到模組文件夾、后臺開啟它
  2. admin/content/types/template,為指定內容模型建立template(就是要建立插入“上一篇 下一篇”代碼的template)
  3. 我是對story內容模型進行修改- 你可以看到有3個可修改的選項,我只選擇【Body
    :對“Affect body output” 】選中!
  4. 我的代碼就是:
    ————————————————————————————————

    <?php print $body ?>
    vid-1 ?>.shtml">上一篇
    <
    path ?>"><?php print check_plain($node->title) ?>
    >
    vid+1 ?>.shtml">下一篇

    ——————————————————————————————————————
  5. 設定好以后,點擊:submit

呈現的模樣就和http://100full.com單篇文章顯示的情況一樣了。
我是使用了pathauto模組,單篇文章后綴為.shtml,如果你是htm或者html可以修改之,如果是默認的node模式,未啟用任何URL重寫,就可以寫成:
————————————————————————————————————

<?php print $body ?>
vid-1 ?>">上一篇
<
path ?>"><?php print check_plain($node->title) ?>
>
vid+1 ?>">下一篇

————————————————————————————————————

如此,基本實現了我的需要。
因為我對PHP一竅不通,對DRUPAL也是新學出道。
SO:這個代碼有如下不足/BUG:
1:不能呈現“上一篇文章的【標題】”和下一篇文章的【標題】
2:無法判斷上一篇、下一篇是否是存在的(即:如果上一篇或下一篇是已經刪除的、或者本篇已經是最新文章、并無下一篇,也無法省略“下一篇”之顯示連接)

有哪位能指導、完善一下,俺不勝感謝!
3KU!歪了馬齒!

附加檔案大小
Image icon nav-pre,100full.com,090115.gif25.16 KB

我記得有 Custom Pagers 模組
搭配 views 可以在 views 內的文章中顯示 views 中的上一筆和下一筆
之前也有相關的討論

然後 node 的 vid 是修訂版本的 id
nid 才是唯一值
在沒有開啟修訂版本的狀態下,才恰好是 nid = vid 的狀態
開啟修訂版本之後,一個 nid 有可能是對應到多個 vid
原始路徑應該是 node/[nid] 的格式,用 vid 來當做參數並不正確,一旦有了修訂版本,就可能出現找不到網頁的狀況

用 node 的 id 來處理感覺不是很好用
因為不管哪種內容類型
都是共用 node 的 id
所以沒有辦法將不同類型的文章分開處理
甚至是依照分類或其他條件來篩選