Список пользователей, которые публиковали материал(ы) на сайте

Прислано: vkapas

пт, 23/09/2011 - 12:13

Друзья, подскажите, как сделать вьювс с пользователями, которые опубликовали какой-либо материал на сайте?

Для регистрации на сайте используется  Content Profile, во всех материалах есть хотя бы один словарь таксономии и несколько кастомных полей CCK.

Сроки горят, а у меня уже крыша едет, — не могу понять, какую нужно указывать зависимость.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано Enemy в пт, 23/09/2011 - 12:58.

автор?


Опубликовано drupby в пт, 23/09/2011 - 13:42.

сниппет в блок

<?php
$users = db_query("SELECT COUNT(nid) AS count, {users}.uid, {users}.name FROM {node} LEFT JOIN {users} ON {node}.uid = {users}.uid WHERE {node}.uid != 0 GROUP BY uid ORDER BY count DESC LIMIT 10");
while ($user = db_fetch_object($users)) {
    print "<ul> <a href=\"/user/".$user->uid."\">".$user->name."</a> </ul>";
    print theme('item_list', $list);
}
?>

LIMIT 10 устанавливает ограничение в 10 юзеров
сниппет для D5 ,надо переписать под шестерку


Опубликовано ХулиGUN в пт, 23/09/2011 - 15:17.

как вариант сделать автоматическое присваивание роли при публикации любого материала а во вьюсе указать фильтр по этой роли. Либо просто попробовать в фильтрах указать Материал: содержание -> оператор: есть.


Опубликовано vkapas в сб, 24/09/2011 - 10:41.

"Enemy" написал(а):

автор?

Во Views не нашёл такого поля :-(


Опубликовано vkapas в сб, 24/09/2011 - 11:03.

"drupby" написал(а):

сниппет в блок

Спасибо, я нашёл похожий для D6:

<?php $nblimit 5;
$query 'SELECT u.name, u.uid, count(n.uid) as ccc FROM {node} n INNER JOIN {users} u ON n.uid  = u.uid
WHERE n.type ="тип материала"
GROUP BY n.uid ORDER BY 1 ASC'
;

$result db_query_range($query, array('user'0), 0$nblimit);

$list = array();
while (
$user db_fetch_object($result)) {
$list[] = l($user->name,"user/$user->uid")." ($user->ccc)";
}

$output theme('item_list'$listNULL'ul', array('id'=>'user_list_''class' => 'user_list'));
print(
$output); ?>

Но в примере делается запрос на имена пользователей, что не совсем то, что надо. Не подскажите, как в SQL взять данные из ContentProfile, например, из поля «company»?


Опубликовано vkapas в сб, 24/09/2011 - 11:06.

"ХулиGUN" написал(а):

как вариант сделать автоматическое присваивание роли при публикации любого материала а во вьюсе указать фильтр по этой роли. Либо просто попробовать в фильтрах указать Материал: содержание -> оператор: есть.

С ролью решение не очень, но всё равно спасибо.
Во Views не нашёл такого: «Материал: содержание -> оператор: есть». Версия 6.x-2.12.


Опубликовано msidiagnos01 в сб, 24/09/2011 - 11:12.

таблица profile_fields - содержит список полей профиля, их описания, вес и т.д.

таблица profile_values - содержит значения указанных в таблице выше полей для каждого юзера.


Опубликовано vkapas в сб, 24/09/2011 - 11:33.

Подскажите, пожалуйста, а как это оформить в запрос? Или киньте ссылку, что почитать по теме.


Опубликовано Enemy в сб, 24/09/2011 - 11:48.

vkapas написал(а):
"Enemy" написал(а):

автор?

Во Views не нашёл такого поля :-(

странно в полях вроде есть:
Пользователь: Имя
Имя пользователя или автора.