[Решено] Статистика числа нод

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

Аватар пользователя Legat Legat 22 июня 2011 в 23:25

Здравствуйте, нужно создать страницу на которой будут выводиться количество нод для определенного типа материла, по принципу:
Новости - 100
Стать - 500
и т. д.

Подскажите, как это во Views реализовать?

Комментарии

Аватар пользователя iNFerNo iNFerNo 23 июня 2011 в 14:35

в поиске запрос задайте нормальный что вы ищите... что вы хотите то в 2-3 словах то? то и вбивайте друпал слово не забудьте еще

Аватар пользователя Legat Legat 23 июня 2011 в 15:17

Запросы:
тип материала views статистика
количество нод типа материала через views
views node type statistics

-Результаты плачевны.

Нашел такой модуль, он вроде подходит, но на D7 его нет.

Можно попробовать сделать статистику по количеству нод в определенном словаре, а не типе материала. Но тут проблема в том, что словари дублируются по терминам, и как к ним прикрутить кол-во тож неясно...

Аватар пользователя olk olk 23 июня 2011 в 15:56
<?php
$select 
db_select('node_type','t');
$select->join('node','n','t.type=n.type');
$select->addField('t','type');
$select->addField('t','name');
$select->addExpression('COUNT(*)');
$select->condition('n.status',1);
$select->groupBy('t.type');
$select->groupBy('t.name');
$select->addTag('node_access');
$entries $select->execute()->fetchAll();
$items = array();
foreach( 
$entries as $row) {
  
$items[] = $row->name '&nbsp;→&nbsp;'.  $row->expression;
}
print 
theme('item_list',array('items'=>$items));
?>

Аватар пользователя Legat Legat 23 июня 2011 в 16:00

olk спасибо тебе большое, только один вопрос остался.. Как исключить в этом коде отдельные типы нод из показа?)

Аватар пользователя olk olk 23 июня 2011 в 16:08

"Legat" wrote:

olk спасибо тебе большое, только один вопрос остался.. Как исключить в этом коде отдельные типы нод из показа?)


<?php
$exclude_type 
= array('article','test_zoom');
$select db_select('node_type','t');
$select->leftjoin('node','n','t.type=n.type');
$select->addField('t','type');
$select->addField('t','name');
$select->addExpression('COUNT(*)');
$select->groupBy('t.type');
$select->groupBy('t.name');
$select->condition('n.status',1);
$select->condition('t.type'$exclude_type'NOT IN');
$select->addTag('node_access');
$entries $select->execute()->fetchAll();
$items = array();
foreach( 
$entries as $row) {
  
$items[] = $row->name '&nbsp;→&nbsp;'.  $row->expression;
}
print 
theme('item_list',array('items'=>$items));
?>