С прискорбием сообщаю, что обнаружил баг в данной функции.
<?php
$result = taxonomy_select_nodes(array(55), 'or', 0, false); // 10 элементов
//=========================================
$sql = '
SELECT n.nid
FROM {node} n
INNER JOIN {term_node} tn USING(nid)
WHERE
AND tn.tid=%d
';
$result = db_query($sql, 55); // 15 элементов у меня, и сколько угодно у вас...
?>
Обращаю внимание, что последний false - означает НЕ использование пагинации. Однако он все равно лимитирует результат. К тому же переменные $result - в обоих случаях одинаковый и нужно в обоих случаях фетчить его. Что вообще ставит под вопрос исторический смысл данного сахара: экономия строк не сильно велика, понимания структуры базы не добавляет, ошибка в самой последней версии 6.х, нужно фетчить...
FIXME!
Комментарии
*взял попкорн, когда же автор поймёт свой пук?*
Автор понял свой пук: "время потраченное на друпал - потрачено в пустую".
Тебе доставляет удовольствие видеть в зеркале хамло? Ты не удовлетворен в этой жизни? Что с тобой не так чувак? Из темы в тему ты источаешь яд.
Как всегда? В своем репертуаре?
По теме...
Внутри функции мы можем увидеть такую строчку:
<?php
$result = db_query_range($sql, $args, 0, variable_get('feed_default_items', 10));
?>
Т.е. надо делать так:
<?php
variable_set('feed_default_items', 10000);
$result = taxonomy_select_nodes(array(55), 'or', 0, false);
variable_set('feed_default_items', 10);
?>
причём в комментах там написано не раз про лимит
Дыы.
Ваш совет шикарен и приведёт к сбросу кеша при каждом вызове вашего блока кода.