Список пользователей, которые публиковали материал(ы) на сайте
Прислано: vkapas
пт, 23/09/2011 - 12:13
Друзья, подскажите, как сделать вьювс с пользователями, которые опубликовали какой-либо материал на сайте?
Для регистрации на сайте используется
Content Profile, во всех материалах есть хотя бы один словарь таксономии и несколько кастомных полей CCK.
Сроки горят, а у меня уже крыша едет, — не могу понять, какую нужно указывать зависимость.
- vkapas's blog
- Для комментирования войдите или зарегистрируйтесь
автор?
- Для комментирования войдите или зарегистрируйтесь
сниппет в блок
<?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 ,надо переписать под шестерку
- Для комментирования войдите или зарегистрируйтесь
как вариант сделать автоматическое присваивание роли при публикации любого материала а во вьюсе указать фильтр по этой роли. Либо просто попробовать в фильтрах указать Материал: содержание -> оператор: есть.
- Для комментирования войдите или зарегистрируйтесь
автор?
Во 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 - содержит значения указанных в таблице выше полей для каждого юзера.
- Для комментирования войдите или зарегистрируйтесь
Подскажите, пожалуйста, а как это оформить в запрос? Или киньте ссылку, что почитать по теме.
- Для комментирования войдите или зарегистрируйтесь
автор?
Во Views не нашёл такого поля :-(
странно в полях вроде есть:
Пользователь: Имя
Имя пользователя или автора.
- Для комментирования войдите или зарегистрируйтесь




Комментарии