これは簡単なものでなければなりませんが、オンラインでのマニュアルは見つかりません。Drupalの動的リンク
私はDrupalでl()関数を使用して動的リンクを作成しようとしています。構文は何ですか?
l('Destination',"path/$user->uid/category")
を指す:
path/%2Fcategory
これは簡単なものでなければなりませんが、オンラインでのマニュアルは見つかりません。Drupalの動的リンク
私はDrupalでl()関数を使用して動的リンクを作成しようとしています。構文は何ですか?
l('Destination',"path/$user->uid/category")
を指す:
path/%2Fcategory
まず、あなたがグローバルなユーザーオブジェクトへのアクセスを取得する必要があります。
エラーを防止するためにユーザーがログインしていない/匿名であれば第二に、する$ user-> uidが設定されていない可能性がありますか、最後に0
こと、文字列
と一緒に変数を連結するのが一般的です文字列path//category
から実行可能なリンクを作成しようとしているので、
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()関数は変数を扱うことを拒否し、2番目のスラッシュをエスケープしているようです。 – lazysoundsystem
l()
はpath/%2Fcategory
にあなたのURLを修正しています。
$user->uid
に値がないため、文字列はpath//category
です。ユーザーオブジェクトを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
リットル()関数のドキュメントは次の場所にあります。 http://api.drupal.org/api/function/l/6
他のものがされていますまだ他の人によって言った:
それはそれでした(ユーザーオブジェクトへのグローバルアクセス)。どうもありがとう。 – lazysoundsystem