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

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

Аватар пользователя vkapas vkapas 23 сентября 2011 в 16:13

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

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

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

Комментарии

Аватар пользователя drupby drupby 23 сентября 2011 в 17: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 ,надо переписать под шестерку

Аватар пользователя Enemy Enemy 24 сентября 2011 в 15:48

vkapas wrote:
"Enemy" wrote:
автор?

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

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

Аватар пользователя vkapas vkapas 24 сентября 2011 в 15:03

"drupby" wrote:
сниппет в блок

Спасибо, я нашёл похожий для 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 vkapas 24 сентября 2011 в 15:06

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

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

Аватар пользователя msidiagnos01 msidiagnos01 24 сентября 2011 в 15:12

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

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