Вывод пользователей определённой группы.

Главные вкладки

Аватар пользователя Freedom Freedom 1 июля 2009 в 22:05

Возникла такая идея, возможно кто-то уже её решал:
Создаётся отдельная страница (может быть даже лучше отдельный тип материала) конкретной роли указанной в Друпал. Нужно в определённом месте этой страницы (материала) вывести список пользователей принадлежащих данной роли (+ реальные имена, соответствующий модуль подразумевается быть включеным).
Подозрения на views+аргументы, но выводить нужно в теле страницы.

Комментарии

Аватар пользователя Arhimad Arhimad 8 июля 2009 в 18:42

что вы подразумеваете под " выводить нужно в теле страницы"?

можно же вывести пользователей определенной роли через "Тип представления" - "Пользователь",
фильтр "Пользователь: Роли".
реальное имя получить можно получить с помощью выбора нужных полей из "профиля", если требуется "Исключить из вывода" и изменить вывод(Rewrite the output of this field) кого нибудь поля. Либо установить модуль http://drupal.org/project/realname[/module], тогда можно будет просто выбрать поле "Пользователь: Имя"

Аватар пользователя Freedom Freedom 9 июля 2009 в 10:21

Не совсем то... нужно то что вы предложили, но внутри определённой ноды. Проблему решил использованием CCK. Новозник ещё один вопрос.
Вывожу сниппетом нужную форму. Только вот немогу пока получить определённое значение из профиля.
Набивается массив из нужных данных:

$rows [] = array( theme ( 'username' , $account) , theme ( <данные из профиля> , $account));
Что подставить вместо <данные из профиля>?

В SELECT нужное поле запрашиваю. Либо SELECT не подхватывает, либо <данные из профиля> правильно указать.

Аватар пользователя t1mm1 t1mm1 9 июля 2009 в 11:15

а как в селект передаешь данные?
там при инициализации формы есть атриубут #options . и в него передается массив значний.

Аватар пользователя Freedom Freedom 9 июля 2009 в 15:49

Вот сам код:
$sql = "SELECT u.uid, u.name, pv.value FROM {users} u INNER JOIN {users_roles} ur ON (u.uid=ur.uid) and (ur.rid = $rid) LEFT JOIN {profile_values} pv ON ((pv.uid=u.uid) and (pv.fid=6)) " ;
$sql .= tablesort_sql ( $header );
$result = pager_query ( $sql , 50 );

while ( $account = db_fetch_object ( $result )) {
$rows [] = array( theme ( 'username' , $account) , theme ( <данные из профиля> , $account));
}