您在這裡

用code 來替代views

adrianmak's 的頭像
adrianmak 在 2008-10-30 (四) 15:06 發表

讀到這篇教學怎樣用code 來替代views https://drupaltaiwan.org/forum/20080507/2068 按著最簡單的 <?php $result = db_query_range("SELECT n.nid, n.title FROM {node} n WHERE n.type = 'eventshow' ORDER BY n.created DESC", 10); while ($test = db_fetch_object($result)) { echo l($test->title,'node/'.$test->nid).'
'; }; ?>
未有任何問題,但當我在SELECT 時加入 n.body , 即是 .......................("SELECT n.nid, n.title, n.body FROM {node} n .................. echo l($test.body); 就顯示不到任何內容 就

谢谢~~~~~~

------------------
還有一個問題,我創建的content type 其中有一個是imagefield 的field, 但在node_revisions 找不到這個field
請問自訂content type 的CCK field怎樣retreive 出來?

我條sql 是這樣的

$sql = "SELECT n.nid, n.title, n_rev.body FROM {node} n LEFT JOIN {node_revisions} n_rev ON n.nid = n_rev.nid WHERE n.type = 'eventshow'";

經過研究, sql 修正如下


$sql = "SELECT n.nid, n.title, imgphoto.field_photo_title, n_rev.body FROM {node} n LEFT JOIN {node_revisions} n_rev ON n.nid = n_rev.nid INNER JOIN {content_field_photo} imgphoto ON n.nid = imgphoto.nid WHERE n.type = 'eventshow' ORDER BY n.created DESC";

問題是只知道 image field 的文件名 ( 是用這個field, field_photo_title 來讀取filename 嗎? ), 但怎樣只道images 的儲存路徑?
用hard code ? 比如

或有更好的方法

現在寫的code是顯示正常的,可顯示圖片


$sql = "SELECT n.nid, n.title, imgphoto.field_photo_title, n_rev.body FROM {node} n LEFT JOIN {node_revisions} n_rev ON n.nid = n_rev.nid INNER JOIN {content_field_photo} imgphoto ON n.nid = imgphoto.nid WHERE n.type = 'eventshow' ORDER BY n.created DESC";
$result = db_query_range($sql,10);
while ($test = db_fetch_object($result)) {
echo 'field_photo_title . '>';
echo $test->body . '';
};

但好像作法有點hard coded

coding 有更好的寫法嗎?? 比如現在不能用imagecache 的縮圖來顯示
結果就像這樣子