Количество нод в views

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

Аватар пользователя SergyX SergyX 7 октября 2009 в 19:35

День Добрый!
Имеем два словаря (Словарь1 и Словарь2) прикрепленные к соответствующим типам нод (ТипНоды1 и ТипНоды2)
Нужно при выборе любого термина из Словаря1 выводить 10 нод и при выборе термина из словаря 2 выводить 50 нод.
Никак не могу найти решения. подскажите кто сталкивался с задачей такого типа...

Комментарии

Аватар пользователя SergyX SergyX 7 октября 2009 в 20:22

два вьюса - не походит так как если обращаться по адресу Словарь1\термин1 или Словарь2\термин2 - попадаю на вьюс который по умолчанию определен для словарей. а там можно поставить только одно значение либо 50 либо 10

Аватар пользователя penexe penexe 7 октября 2009 в 21:03

если нужно иметь ссылки на термины для разных словарей одинаковые то только через хуки
вот так

function hook_views_pre_build(&$view) {
  if ($view->name == 'taxonomy_term') {
    if ($term = taxonomy_get_term(arg(2))) {
      if ($term->vid == 1) {
        $view->set_items_per_page(10);
      }
      elseif ($term->vid == 2) {
        $view->set_items_per_page(50);
      }
    }
  }
}

если ссылки разные и вообще больше кастомизации вывода для разных словарей, то ставить taxonomy_redirect настроить для словарей разные пути. затем во views создать 2 разных отображения (display) на эти же пути и настроить как хочешь

Аватар пользователя SergyX SergyX 8 октября 2009 в 13:12

Воспользовался hook_views_pre_build - создал свой модуль в нем прописал
mymodule_views_pre_build(&$view)
{
if ($view->name == 'taxonomy_term') {
if ($term = taxonomy_get_term(arg(2))) {
if ($term->vid == 1) {
$view->set_items_per_page(10);
}
elseif ($term->vid == 2) {
$view->set_items_per_page(50);
}
}
}
}
но она перехватывает все виевы на странице кроме taxonomy_term. Как бы ее заставить перехватить и этот виев ?