Как подсчитать узел публикации текущей недели конкретным пользователем в drupal

Как подсчитать узел публикации текущей недели конкретным пользователем в drupal для определенного типа контента?


person Nikunj Jagad    schedule 19.09.2015    source источник
comment
Какую версию Drupal вы используете? Мой ответ предполагает 7.   -  person Cyclonecode    schedule 19.09.2015


Ответы (1)


Что-то вроде этого должно работать:

// select the number of nodes that is of a specific content type and
// were created this week by the named user
function <theme>_post_count($user_name, $content_type) {
   $query = "SELECT COUNT(*) node_count FROM {node} n
             INNER JOIN {users} u ON u.name = :user_name && u.uid = n.uid
             WHERE n.type = :content_type && 
             WEEK(FROM_UNIXTIME(n.created)) = WEEK(CURRENT_TIMESTAMP())";

   $result = db_query($query, 
                      array(
                        ':user_name' => $user_name,
                        ':content_type' => $content_type
                      ))->fetch();

   return $result->node_count; 
}

Вы можете легко изменить приведенный выше запрос, чтобы он принимал uid вместо имени пользователя и так далее.

Затем вы бы вызвали эту функцию следующим образом:

print 'Articles added by admin during this week: '.<theme>_post_count('admin', 'article');
person Cyclonecode    schedule 19.09.2015