Друзья, подскажите, как сделать вьювс с пользователями, которые опубликовали какой-либо материал на сайте?
Для регистрации на сайте используется Content Profile, во всех материалах есть хотя бы один словарь таксономии и несколько кастомных полей CCK.
Сроки горят, а у меня уже крыша едет, — не могу понять, какую нужно указывать зависимость.
Комментарии
автор?
сниппет в блок
$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 ,надо переписать под шестерку
Во Views не нашёл такого поля
странно в полях вроде есть:
Пользователь: Имя
Имя пользователя или автора.
Спасибо, я нашёл похожий для 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', $list, NULL, 'ul', array('id'=>'user_list_', 'class' => 'user_list'));
print($output); ?>
Но в примере делается запрос на имена пользователей, что не совсем то, что надо. Не подскажите, как в SQL взять данные из ContentProfile, например, из поля «company»?
С ролью решение не очень, но всё равно спасибо.
Во Views не нашёл такого: «Материал: содержание -> оператор: есть». Версия 6.x-2.12.
таблица profile_fields - содержит список полей профиля, их описания, вес и т.д.
таблица profile_values - содержит значения указанных в таблице выше полей для каждого юзера.
Подскажите, пожалуйста, а как это оформить в запрос? Или киньте ссылку, что почитать по теме.