特定の役割のユーザーのプロフィールページにだけブロックを表示させたい

Events happening in the community are now at Drupal community events on www.drupal.org.
bzj00220's picture

特定の役割のユーザーのプロフィールページにだけブロックを表示させたい

ある専門家のポータルサイトを運営しております。
ユーザーには専門家も登録されていますが、一般のかたも登録されています。
それぞれに役割は別にしています。

専門家のプロフィールページにだけ表示させたいブロックがあるのですが
どのようにしてよいのかわからないので教えて下さい。

ブロックの表示の設定とかコンテキストでいろいろと試してみたのですが、うまく設定できませんでした。

ブロックもコンテキストも見ている人の役割によって制限することはできるのですが、表示されている人の役割で設定することはできないようです。

ブロックの表示の設定のところで
「以下のPHPコードがTRUEを返す場合のみ(上級者向け)」
というのがあるのでPHPのわかる人ならきっと設定できると思います。

私の場合はPHPがわからないのでどうしたら良いのかわかりません。
もし、よろしければどのように設定すればよいのか教えていただければ幸いです。

Comments

shigehiro's picture

ブロックもコンテキストも見ている人の役割によって制限することはできるのですが、表示されている人の役割で設定することはできないようです。

ブロックは確かにそうですね。次のコードを試してください。

<?php
$args
= arg(NULL, current_path());
if (
$args[0] == 'user' && is_numeric($args[1])) {
 
$account = user_load($args[1]);

 
// 「専門家」ユーザーロールの rid を 5 とすると、
 
if (isset($account->roles[5])) {
    return
TRUE;
  }
}
?>

Drupal カスタマイズTips 更新中...
CMS自由自在!
http://customfield.jp/

ありがとうございました。

bzj00220's picture

試してみたところ、ちゃんと動作しております。
ありがとうございました。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: