請問 comment 裡面的 thread 欄位是怎麼來的啊? 看起來似乎和 reply 的層級有關, 可是他是 "01.00/", "02.00.00/", "0f.00/", "0a.00.00/" 這樣的值, 完全看不懂. 查了一下 drupal.org, 也只知道是和 int2vancode, vancode2int 有關, 但還是不懂這欄位怎麼來的, 不知道有沒有哪裡有參考文件的?
您在這裡
使用者登入
最新文章
回應
3 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 7 個月 之前
6 年 7 個月 之前
6 年 7 個月 之前
6 年 7 個月 之前
Re: 請問 comment 裡面的 thread 欄位的意義
http://api.drupal.org/api/function/comment_render/6
每"." 來區分層級
"02.00.00/" 就有三個層級
這裏的vancode , 其實是36進制
自建一個PHP試試
<?php
print int2vancode(100);
function int2vancode($i = 0) {
$num = base_convert((int)$i, 10, 36);
$length = strlen($num);
return chr($length + ord('0') - 1) . $num;
}
?>
Re: 請問 comment 裡面的 thread 欄位的意義
原來是順序啊, 本來還想說, 有 nid 和 pid 就可以串出 node 和 comment 以及 comment 本身的層級關係.
順序是這樣排的
每個 node 的 comment 依序如下, 36 進位, 所以最後會到 0z 再進位.
01/
02/
03/
如果 01 的 comment 有 2 人回覆了, 就會變成
01/
01.00/
01.01/
02/
03/
如果 01 的 comment 有 2 人回覆了, 而又有人對其中第 2 個 comment 回覆了, 就會變成
01/
01.00/
01.01/
01.01.00/
02/
03/
不太理解, 為何這麼設計? comment 本身的階層關係用 pid 就可以串出來, 至於順序就照時間來排的就好了, 感覺上這個欄位不是很有必要, 還是我漏掉什麼了.
另外就是, 有點小複雜... 36 進位我猜是因為 10 個數字加上 26 個英文字母.
Re: 請問 comment 裡面的 thread 欄位的意義
這樣好像更簡單...
nid, pid, cid, time 串來串去, 亦巒煩
36進位, 剛好像你說一樣用完了字母及數字, 減少了數值的大小, 排序時亦有用.
有點有趣, drupal的comment 沒有建立時間, 只有記錄最後更新時間
http://www.sqlteam.com/article/more-trees-hierarchies-in-sql