您在這裡

如何抓出node的這種欄位??

hchsiao's 的頭像
hchsiao 在 2009-04-08 (三) 12:01 發表

請問各位大大:

我為公告系統在theme 中加了一個檔案 node-news.tpl.php......
以作為公告畫面的版面套版......
爬了一些文....知道用printr($node)可以把資料顯示型態都抓出來......
可是遇到兩個問題.....可能是我PHP功力很差.....不知如何把資料抓出來...
去看一些PHP語法介紹網頁....還是看不懂....
可否請功力高深的大大們給一些指示????

[問題一]
printr出來的資料是
[taxonomy] => Array ( [1] => stdClass Object ( [tid] => 1 [vid] => 2 [name] => 一般公告 [description] => 校內外皆可瀏覽之ㄧ般公告 [weight] => 0 ) )

我要如何把分類"一般公告"這幾個字print出來??
目前node預設有一個$terms變數可以輸出....可是帶連結.....我不要連結說...

[問題二]
我要在每篇公告上標示公告單位 目前用<?php print $node->name ?>
可以顯示出作者帳號如stu1.....
但實際上sru1這個帳號是學務處衛生組的帳號......
我要怎麼抓出"學務處衛生組"這幾個字???
printr裡面沒有這個資料可以抓.....
要用PHP自己寫嗎??怎麼做可以請大大們給我一點指示嗎???

不勝感激

1.
$taxonomy 變數裡面會有原本的分類資料的陣列
把 node-news.tpl.php 裡的 print $terms 去掉
自己用 foreach 輸出 $taxonomy 裡的分類名稱就行了

2.
文章本身沒有這種資料的話,在 $node 變數裡是找不到的
看起來你只有記錄使用者是哪一個處室
那就應該透過使用者資料來取得處室名稱

$node->uid 可以取得作者的使用者 id
然後使用 $account = user_load(array('uid' => $node->uid));
就可以取得作者的使用者資料