Приветствую,
Есть несколько материалов, отмеченных чекбоксами по словарю таксономии. Теперь их нужно отобразить. Вот так делаем выборку массивов материалов в соответствии с выбранными значениями по словарю таксономии.
echo "<div class='specnames'>";
$nnn=0;
foreach ($terms as $term)
{
$nnn++;
echo "<div class='specname".($nnn==1?" sactive":"")."' onclick='javascript:jQuery(\".specname\").removeClass(\"sactive\");jQuery(this).addClass(\"sactive\");jQuery(\".descript\").hide();jQuery(\".d{$term->tid}\").show();resizewrap();'><span>$term->name</span></div>";
$arrNodes[$term->tid] = node_load_multiple(taxonomy_select_nodes($term->tid));
$arrTermIds[]=$term->tid;
}
echo "</div>";
В итоге если выводить значения количества элементов полученных массивов: echo " arrNodes=",count($arrNodes[$term->tid]);
то получается не больше 10, хотя отмеченных материалов точно больше. Меньше выводит, больше - нет. Вопрос: это баг друпала или это ограничение где-то прописано?
Комментарии
Проблема решена. Возможно и другим пригодится.
Оказалось, что taxonomy_select_nodes() просто расширяет PagerDefault, а этот класс использует ограничение в 10, если не указано иное. Если добавляем необязательный параметр FALSE, тем самым снимаем данное ограничение. Таким образом наш вызов будет иметь следующий вид:
$arrNodes[$term->tid] = node_load_multiple(taxonomy_select_nodes($term->tid, FALSE));
PS: Решение, кстати, было найдено здесь (похожая проблема).