您在這裡

秀出 Drupal 內可用的變數。(Token + Token Filter 應用)

imtodtod's 的頭像
imtodtod 在 2010-11-26 (週五) 10:41 發表

如題,想知道 Drupal 內可使用的變數有哪些!
或者透過模組去定義變數.

想使用在 block 中的 link,如:
我的帳號

曾看過這模組,但...忘了名子!
請告訴我,謝謝!
========================================
問題已解決,請往下觀看詳解。

是的!
就是他~^^

================================
信心、毅力、勇氣三者具備,則天下沒有做不成的事。(靜思語)
================================

% 開頭的應該是 Patterns 模組吧~
不過這個模組在 Drupal 6 版好像只有 dev 版的~

抱歉,我記錯了,不是 Patterns 應該是 Rep[lacement]Tags
不過這個模組沒有 6.x 的版本~

請問,token 是不是不能在 node 或 block 中使用?
在 node 與 block 中直接使用沒有作用...

================================
信心、毅力、勇氣三者具備,則天下沒有做不成的事。(靜思語)
================================

有支援 token 的模組,才能使用 token, 例如 views.

node 與 block 都是 drupal 的核心模組,是不會主動支援擴增的模組的。如果要支援的話,那就會把它作到核心模組裡頭。例如在 drupal 7, cck 模組就被納入核心模組,支援性自然就大增了。

那麼是否有像 token 這樣,但支援 block 的模組?

因為我想要在 block 中達到這樣的效果:
您好! [username] 歡迎光臨。

================================
信心、毅力、勇氣三者具備,則天下沒有做不成的事。(靜思語)
================================

想了一下,有二個方案。

  1. 使用模組 Token Filter。不過這個模組自己也說了,目前在 node 的 body 上有效果的限制,在 block 可以使用。
  2. 剛好有空,我快快的試了一下,在 block 的 body,使用 php code 如下(input format 要設為 php code, 如果沒有這個選項,請先啟動 php filter)。

    <?php
    global $user;
    echo t('您好! %username 歡迎光臨。', array("!useruid" => $user->uid,
    "%username" => $user->name));
    echo "";
    ?>

    ps. 你最好有在 drupal 中使用 php 的能力,因為 php code 一旦錯了,很麻煩。不會除錯的話,會卡在那裡。

我只需要在 block 中發揮作用,所以 Token + Token Filter 就足夠了!
感謝你的提供與建議!
還特地抽空寫一段 php code!
非常感謝你!^^

================================
信心、毅力、勇氣三者具備,則天下沒有做不成的事。(靜思語)
================================

我有使用 RealName 模組,所以使用 Token Filter 後,在 All 地方多了 realname 的相關變數可用。

因此在 Block 中輸入以下就有如同2.的效果:


您好! [token all realname-link] 歡迎光臨。

展示圖:

提供給有需要的人^^

================================
信心、毅力、勇氣三者具備,則天下沒有做不成的事。(靜思語)
================================

另外一提,想請問 artt ,像 $user->uid、$user->name 這些運用在 Drupal 內的 PHP 變數,有地方可查詢嗎?

對於我日後建立或修改 .tpl.php 檔時有幫助!^^

================================
信心、毅力、勇氣三者具備,則天下沒有做不成的事。(靜思語)
================================

可以到 drupal api 網站去查。到了之後,查詢 $user,可以查到 $user 變數的一些重要資訊。

平常在開發 drupal 程式的時候,記得要安裝 devel 模組。另外,在 firefox 中,也要安裝 firebug。

比較完整的開發知識可參考 Pro Drupal Development 書籍。