Народ, подскажите как посчитать все ноды на текущем языке, которые связаны с определенным термином таксономии и имеют определенный тип.
стандартный taxonomy_term_count_nodes($tid, $type = 0) считает ноды определенного типа на всех языках. У него обращение к базе такое:
ON t.vid = n.vid WHERE n.status = 1 AND n.type = '%s' GROUP BY t.tid"), $type);
На друпал.орг нашел запрос к базе, но он считает все ноды без связанных терминов:
AND i.language ='%s'", $language));
а вот как их объединить что-то не могу понять.
Комментарии
Чего-то я таблицу i18n_node не могу найти, она видать для 5-го Drupal была...
в таблице {node} есть поле language, так что надо просто включить его в запрос
<?php
$result = db_query(db_rewrite_sql("
SELECT t.tid, n.language, COUNT(n.nid) AS c
FROM {term_node} t INNER JOIN {node} n ON t.vid = n.vid
WHERE n.status = 1 AND n.type = '%s' AND n.language = 'ЯЗЫК' GROUP BY t.tid"), $type);
?>
вот как-то так.