這一定很容易,但我無法在線找到它的文檔。Drupal中的動態鏈接
我想在Drupal中使用l()函數來創建動態鏈接。語法是什麼?
目前我有:
l('Destination',"path/$user->uid/category")
指向:
path/%2Fcategory
這一定很容易,但我無法在線找到它的文檔。Drupal中的動態鏈接
我想在Drupal中使用l()函數來創建動態鏈接。語法是什麼?
目前我有:
l('Destination',"path/$user->uid/category")
指向:
path/%2Fcategory
首先,如果你是一個函數內的工作,你需要獲得進入全球用戶對象。
其次,如果用戶是匿名/沒有登錄,則$用戶> UID可能沒有設置或者是0
最後以避免錯誤,是很常見的用繩子
一起串聯變量
global $user;
if ($user->uid)
{
l('Destination', 'path/'.$user->uid.'/category')
}
嘗試串聯字符串代替。
l('Destination',"path/".$user->uid."/category")
爲文檔,那就是:http://api.drupal.org/api/function/l/4.7
l($text, $path, $attributes = array(), $query = NULL, $fragment = NULL, $absolute = FALSE, $html = FALSE)
感謝您的建議,我已經嘗試過,但它給出了相同的結果。看來l()函數都拒絕處理變量並轉義第二個斜線。 – lazysoundsystem 2009-07-31 00:20:39
l()
被修正您的網址path/%2Fcategory
因爲它試圖使從字符串path//category
一個可行的鏈接。
您的字符串爲path//category
,因爲$user->uid
沒有任何價值。它沒有任何價值,因爲您沒有從global $user
或user_load()
中拉出用戶對象,或者您的用戶是匿名用戶。
我建議把檢查$用戶的價值呼喚l()
之前,例如:
global $user; // or $user = user_load($foo);
if ($user) {
l('Destination', 'path/'.$user->uid.'/category');
} else {
l('Destination', 'path/you-are-not-logged-in');
}
是的,這是問題所在,也是很好的建議。謝謝。 – lazysoundsystem 2009-07-31 08:55:41
爲L()函數的文檔位於: http://api.drupal.org/api/function/l/6
其他的東西一直說別人:)
就是這樣(全局訪問用戶對象)。非常感謝。 – lazysoundsystem 2009-07-31 00:34:25