2015-09-19 3 views
0

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

+0

Какую версию Drupal вы работаете? Мой ответ предполагает 7. – Cyclonecode

ответ

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'); 
Смежные вопросы