請問各位大大:
我為公告系統在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自己寫嗎??怎麼做可以請大大們給我一點指示嗎???
不勝感激
Re: 如何抓出node的這種欄位??
1.
$taxonomy 變數裡面會有原本的分類資料的陣列
把 node-news.tpl.php 裡的 print $terms 去掉
自己用 foreach 輸出 $taxonomy 裡的分類名稱就行了
2.
文章本身沒有這種資料的話,在 $node 變數裡是找不到的
看起來你只有記錄使用者是哪一個處室
那就應該透過使用者資料來取得處室名稱
$node->uid 可以取得作者的使用者 id
然後使用 $account = user_load(array('uid' => $node->uid));
就可以取得作者的使用者資料
Re: 如何抓出node的這種欄位??
不會PHP的可以考慮使用這個模組:
http://drupal.org/project/contemplate
比較視覺化, 左按按右按按, 很多東西能解決
不過, 你也可以自己亂來一通, 不斷狂組合:
$node->taxonomy->name
$node->[1]->name
$node->content->name
..
...
很多時候會PHP的人亦這樣撞答案