您在這裡

使用Views列出與目前使用者同一分類的清單

Webster H.'s 的頭像
Webster H. 在 2012-07-09 (週一) 22:33 發表

請教各位,如果我想要使用Views來製作使用者的清單列表

假使我的
A使用者是群組1
B使用者是群組1
C使用者是群組2

當我進入這個Views的時候,A使用者可以同時看到A、B這兩個人,看不到C使用者

那我應該怎麼做呢?

因為FILTER CRITERIA裡面,都要設定死的,好像不能根據目前的使用者來判斷耶@@~

這應該是可以透過[views設定]來達到的。

在 6.x 裏,是用 relationships 及 arguments 的設定來達成;
在 7.x 裏,是用 relationships 及 contextual filters 的設定來達成;

然而,該如何設定將會視[資訊架構]而異,在這裏要看的是[群組]及[user]之間的關聯是用什麼樣的方式建構的?

我是D7

大大說的方法 我有試過

但是都沒能成功

我是用Tax做分類(field_unit_select),然後在註冊時,必須選擇

我原先是在contextual設定使用logging user id

然後,在relationship設定1.field_unit_select 2.使用者 using 這個欄位

可是出來的結果都只能看到目前登入使用者,而且是有兩筆一樣的資料

無法看到其他相同分類的人

是列出使用者清單嗎 ??

1. 建立一個 User View
2. 增加 Contextual: User: (field_unit_select)
3. 設定權限: (應該要用到 PHP), 比如:

$user_info = user_load($account->uid);
$user_unit_name = $user_info->field_unit_select[LANGUAGE_NONE][0]['value'];

if($user_unit_name == arg(1)) {
return TRUE;
}

任人看的就不用理會 Step #3.

你好,我出現這些錯誤耶
Notice:Undefined variable: user 於 __lambda_func() (/var/www/sites/all/modules/views_php/plugins/views/views_php_handler_filter.inc(82) : runtime-created function 中的第 1 行)。
Notice:Trying to get property of non-object 於 __lambda_func() (/var/www/sites/all/modules/views_php/plugins/views/views_php_handler_filter.inc(82) : runtime-created function 中的第 1 行)。
Warning:array_flip(): Can only flip STRING and INTEGER values! 於 DrupalDefaultEntityController->load() (/var/www/includes/entity.inc 中的第 178 行)。
Warning:array_flip(): Can only flip STRING and INTEGER values! 於 DrupalDefaultEntityController->cacheGet() (/var/www/includes/entity.inc 中的第 354 行)。

另外我有改了這個地方
$user_unit_name = $user_info->field_unit_select[LANGUAGE_NONE][0]['tid'];