1

特定のユーザーに対応する特定のタイプのノード ( ) にカスタム フィールドを使用する Drupal サイトを持っていperson_idます。ログインしたときに、ユーザーが「タグ付けされた」ノードのリストをperson_id. ビューは正常に機能していますが、別のユーザー名my-library/usernameに置き換えるusernameと、そのユーザーにタグ付けされたすべてのノードのリストが表示されます。私がやりたいことは、ユーザーが URL を変更したり、他のユーザーのタグ付けされたノードを見たりするのを止めることです。これどうやってするの?このページの唯一の有効な引数が、現在ログインしているユーザーのユーザー名に対応するものであることを指示できる場所はありますか?

4

2 に答える 2

2

person_id = uid? この場合、user:uid で引数を追加し、[検証オプション] で [PHP コード] を選択し、このフィールドのコメントを注意深く読みます。

TRUE または FALSE を返す PHP コードを入力します。戻り値がないことは FALSE と同じであるため、引数が無効であると宣言したくない場合は必ず何かを返すようにしてください。使用禁止 。検証する引数は「$argument」になり、ビューは「$view」になります。「$handler->argument」を設定することで、引数を変更できます。

次のコードを追加します。

global $user;
$account = user_load('name'=>arg(1));
$handler->argument = $user->uid;
return $account->uid == $user->uid;
于 2010-03-29T21:46:00.223 に答える
1

ビューをどのように設定したかわかりませんが、これを解決するためのいくつかの異なるオプションがあります。動作するはずの方法は、デフォルトの引数をログに記録されたユーザーの ID/ユーザー名に設定し、URL から引数を削除することです。

別の方法として、ビュー API を使用する必要がある独自のフィルターを作成することもできますが、より詳細な制御が可能です。

于 2010-03-29T15:46:15.423 に答える