День Добрый!
Имеем два словаря (Словарь1 и Словарь2) прикрепленные к соответствующим типам нод (ТипНоды1 и ТипНоды2)
Нужно при выборе любого термина из Словаря1 выводить 10 нод и при выборе термина из словаря 2 выводить 50 нод.
Никак не могу найти решения. подскажите кто сталкивался с задачей такого типа...
Комментарии
Очень расплывчато написано. Могу предложить решение - создать два вьюса с отборкой по 1 и по 2 словарю.
два вьюса - не походит так как если обращаться по адресу Словарь1\термин1 или Словарь2\термин2 - попадаю на вьюс который по умолчанию определен для словарей. а там можно поставить только одно значение либо 50 либо 10
если нужно иметь ссылки на термины для разных словарей одинаковые то только через хуки
вот так
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) на эти же пути и настроить как хочешь
Воспользовался 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. Как бы ее заставить перехватить и этот виев ?
Разобрался - ОГРОМНОЕ спасибо за помощь