前陣子Jimmy給我一個程式碼,可以用來顯示某文件底下的目錄(b.parent是該文件的nid):
<div class="subpage">
<?php
$result = db_query('SELECT n.nid, n.title, b.parent FROM {node} n INNER JOIN {book} b ON n.vid = b.vid WHERE b.parent = 2 order by n.changed');
while( $n = db_fetch_object($result)){
$output .= '<h3>'.l($n->title, "node/$n->nid").'</h3>';
$output .= book_tree($n->nid, 5);
}
print $output;
?>
</div>
現在的手冊區,就是用這小程式來列出所有文件。
由於這比原本文件頁下方預設的目錄要有彈性,最近在工作上也派上用場,順便把原本的目錄區塊,用CSS隱藏起來,讓UE更順暢:
.book-navigation ul.menu {display:none;}
感謝Jimmy~
Re: 顯示文件(book)的目錄
TKY最近也在編寫手冊,看到這段程式碼,也想用一下。
不過複製回去,並在手冊第一頁以php輸入格式發佈後,卻沒有看到和本站一樣的效果。應該說,根本沒有顯示什麼東西出來。
想說會不會是版本的問題?這段程式碼需要根據版本升級嗎?
TKY
Re: 顯示文件(book)的目錄
是不是
< >
符號的問題? 我改了一下顯示。跟版本應無關,4.7.5 沒問題!Re: 顯示文件(book)的目錄
TKY後來仔細看了一下程式碼,原來要指定parent的nod id才會正確顯示。太急了,忘了注意這點。
現在已經可以顯示出TKY想顯示的手冊頁面了。不過還想請教一下,如果TKY想要列出所有的樹狀圖,應該要更改那個部分呢?因為目前的手冊首頁只顯示到第二層而已。
大概是$output .= book_tree($n->nid, 5);這個部分吧?但TKY改了一下數值,沒有任何的變化說。
想要列出完整書目的
TKY
Re: 顯示文件(book)的目錄
谢谢,很有用!我用来做小组讨论区了
Re: 顯示文件(book)的目錄
稍微改了一下,这样就可以直接用,不用动CSS了,注意修改b.parent的值,要看所有的book可以设成0
<?php- '.l($n->title, "node/$n->nid").'
$result = db_query('SELECT n.nid, n.title, b.parent FROM {node} n INNER JOIN {book} b ON n.vid = b.vid WHERE b.parent = 1163 order by n.changed');
while( $n = db_fetch_object($result)){
$output .= '
';
$output .= book_tree($n->nid, 5);
}
print $output;
?>
Re: 顯示文件(book)的目錄
請問 有辦法指定列出哪一本的書目嗎
而且只有二級 不知道要改哪一個參數
Re: 顯示文件(book)的目錄
哪一本書 -> b.parent
Re: 顯示文件(book)的目錄
過了這麼久...又要來炒冷飯了
真是不好意思 orz
關於上面的程式碼
有幾個問題想請教
(我對nid這名詞的意思不太了解 ^^")
1.
指定哪一個book 是改 b.parent
請問
如果那本book 是 node/1
我就把它改成 node/1 .parent 這樣嗎
或是
那本book叫 apple
我就把它改成 apple.parent
那個b是指book第一頁的name嗎
2.
如果是照上述方法改動
那是把所有的"b"都改成我指定的book name嗎
3.
截取長雲的程式碼中的一段
"b.vid WHERE b.parent = 1163"
目前我是依我的第一個和第二個問題所述下去改
但是無法顯示book tree
必須將以上的1163改成0
使它顯示所有book的book tree才能顯示book tree的效果
這個地方
我連問都不知道該怎麼問了....
我只想顯示單一書目 不知道是哪一步出問題了
4.
截取長雲的程式碼中的一段
"SELECT n.nid, n.title"
想請問這裡的n指的是什麼意思呢
這問題好像是程式語言的問題 ^^"
麻煩各位先進了
謝謝 ^^
Re: 顯示文件(book)的目錄
最近升到drupal6,發現這段程式碼不能用了。
drupal 6的code如下:
<?php
$book_top_page= YOUR_NID;
$tree = menu_tree_all_data(book_menu_name($book_top_page));
print menu_tree_output($tree);
?>
來源:http://drupal.org/node/44648
Re: 顯示文件(book)的目錄
drupal6有advanced book blocks可以用